Implementar desencadenadores DDL

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.

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

Para crear un desencadenador DDL

Para quitar un desencadenador DDL

Nota importanteImportante

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 2008, 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.

NotaNota

Los desencadenadores DDL de ámbito de servidor aparecen en el Explorador de objetos de SQL Server Management Studio, en la carpeta Desencadenadores. Esta carpeta se encuentra bajo la carpeta Objetos de servidor. Los desencadenadores DDL de ámbito de base de datos aparecen en la carpeta Desencadenadores de bases de datos. Esta carpeta se encuentra bajo la carpeta Programación de la base de datos correspondiente.

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

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

Mostrar: