Tutorial: Depurar un desencadenador de Transact-SQL
Este tema se aplica a:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
Para depurar un desencadenador, establezca un punto de interrupción en un procedimiento almacenado para que active el desencadenador, establezca un punto de interrupción en el desencadenador y, por último, continúe con el procedimiento descrito en Tutorial: Depurar un procedimiento almacenado de Transact-SQL.
En este ejemplo, se usa la base de datos AdventureWorks2008, que contiene una tabla Purschasing.Vendor con un desencadenador DELETE.El ejemplo incluye un procedimiento almacenado que elimina una fila de la tabla, lo cual provoca la activación del desencadenador.Establezca los puntos de interrupción en el desencadenador y, a través de la ejecución del procedimiento almacenado con diferentes parámetros, puede seguir las diferentes rutas de acceso de ejecución del desencadenador.
Nota
Los cuadros de diálogo y comandos de menú que verá pueden variar con respecto a los descritos en la Ayuda en función de su edición o configuración activa.Para cambiar la configuración, elija Importar y exportar configuraciones en el menú Herramientas.Para obtener más información, vea Visual Studio Settings.
Para depurar un desencadenador de SQL
En un proyecto nuevo de SQL Server, establezca una conexión con la base de datos de ejemplo AdventureWorks2008.Para obtener más información, vea Cómo: Conectarse a una base de datos con el Explorador de servidores.
Cree un nuevo procedimiento almacenado utilizando el código de la primera parte del ejemplo siguiente y asígnele el nombre UpdateCurrency_T_SQL.Para obtener más información, vea Cómo: Depurar con un proyecto de base de datos o con un proyecto de servidor de SQL Server.
Establezca puntos de interrupción en DeleteVendor.Esto es opcional porque la depuración directa de la base de datos hace que la primera línea del procedimiento actúe como punto de interrupción.
Establezca puntos de interrupción para el desencadenador.
Abra el código fuente del desencadenador haciendo clic con el botón secundario en el nodo Tablas; a continuación, haga clic con el botón secundario en el nodo de la tabla Purchasing.Vendor y, por último, haga doble clic en el icono del desencadenador denominado dVendor.
Haga clic con el botón primario en el margen gris situado junto a la instrucción SET NOCOUNT ON para establecer un punto de interrupción en el desencadenador.Este paso no es opcional: si no establece un punto de interrupción en el desencadenador, omitirá su código al intentar ir al mismo.
Vaya al procedimiento almacenado.Para obtener más información, vea Cómo: Ir a un objeto usando el Explorador de servidores.
Aparece el cuadro de diálogo Ejecutar procedimiento almacenado, que pide los valores de los parámetros.
Establezca el valor de parámetro siguiente:
@entityID = 1492
Aparece la flecha amarilla del puntero de instrucción en la línea SET NOCOUNT ON, la primera línea ejecutable de código del procedimiento almacenado.
Pruebe diferentes características de depuración.
Recorra el código con la tecla F11 o con el botón Paso a paso por instrucciones.
En la instrucción DELETE, al presionar F11 de nuevo, irá al desencadenador.
Recorra paso a paso el desencadenador hasta que regrese al procedimiento almacenado y continúe hasta el final.
Ejemplo
Este es el código del procedimiento almacenado que activa el desencadenador.
ALTER PROCEDURE dbo.DeleteVendor
(
@entityID int
)
AS
SET NOCOUNT ON
DELETE Purchasing.Vendor
WHERE BusinessEntityID = @entityID
RETURN