Implementar desencadenadores DDL

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

En este tema se ofrece información acerca de la creación y modificación de desencadenadores DDL, así como para su deshabilitación o eliminación.

Crear desencadenadores DDL

Los desencadenadores DDL se crean con la instrucción CREATE TRIGGER de Transact-SQL para desencadenadores DDL.

Para crear un desencadenador DDL

Importante

La capacidad de devolver conjuntos de resultados desde desencadenadores se eliminará en una versión posterior de SQL Server. Los desencadenadores que devuelven conjuntos de resultados pueden provocar un comportamiento inesperado en aplicaciones que no estén diseñadas para utilizarlos. Evite la devolución de conjuntos de resultados desde desencadenadores en los nuevos trabajos de desarrollo y piense en modificar las aplicaciones que la usan actualmente. Para evitar que los desencadenadores devuelvan conjuntos de resultados en SQL Server, establezca la opción disallow results from triggers en 1. El valor predeterminado de esta opción será 1 en una versión futura de SQL Server.

Modificar desencadenadores DDL

Si necesita modificar la definición de un desencadenador DDL, puede quitarlo y volver a crearlo, o bien volver a definirlo en un solo paso.

Si cambia el nombre de un objeto al que hace referencia un desencadenador DDL, debe modificar el desencadenador para que el texto refleje el nuevo nombre. Por lo tanto, antes de cambiar el nombre de un objeto, vea primero las dependencias del mismo para determinar si algún desencadenador va a verse afectado por el cambio propuesto.

También es posible modificar un desencadenador para cifrar su definición.

Para modificar un desencadenador

Para ver las dependencias de un desencadenador

Deshabilitar y quitar desencadenadores DDL

Puede eliminar o deshabilitar un desencadenador DDL cuando ya no lo necesite.

Al deshabilitar un desencadenador DDL, éste no se quita. Sigue siendo un objeto de la base de datos actual. Sin embargo, el desencadenador no se activa cuando se ejecuta una instrucción Transact-SQL en la que se programó. Los desencadenadores DDL deshabilitados se pueden volver a habilitar. La habilitación de un desencadenador DDL hace que se active tal como lo hizo cuando se creó originalmente. Cuando se crean desencadenadores DDL, se habilitan de forma predeterminada.

Cuando el desencadenador DDL se elimina, se quita de la base de datos actual. Los objetos o datos incluidos en el ámbito del desencadenador DDL no se ven afectados.

Para deshabilitar un desencadenador DDL

Para habilitar un desencadenador DDL

Para eliminar un desencadenador DDL