Compartir a través de


Depuración de procedimientos almacenados

El depurador de Transact-SQL le permite depurar de forma interactiva procedimientos almacenados mostrando la pila de llamadas de SQL, variables locales y parámetros para el procedimiento almacenado de SQL. El depurador de Transact-SQL admite la visualización y modificación de variables y parámetros locales y la visualización de variables globales. También proporciona la capacidad de controlar y administrar puntos de interrupción al depurar el script de Transact-SQL.

En este ejemplo se muestra cómo crear y depurar un procedimiento almacenado de Transact-SQL paso a paso por instrucciones.

Nota:

La depuración de Transact-SQL no está disponible para Azure SQL Database o Azure SQL Managed Instance.

Para depurar procedimientos almacenados

  1. La ventana del Editor de consultas del Motor de base de datos, conéctese a una instancia del Motor de base de datos de SQL Server. Seleccione una base de datos en la que pueda crear un procedimiento almacenado de ejemplo.

  2. En el editor de consultas, pegue el siguiente código.

    CREATE TABLE [dbo].[Product] ([Id] INT, [Name] NVARCHAR(128))
    
    CREATE PROCEDURE [dbo].[AddProduct]  
    @id INT,  
    @name NVARCHAR(128)  
    AS  
    BEGIN
        INSERT INTO [dbo].[Product] ([Id], [Name]) VALUES (@id, @name) 
        SELECT [Name] FROM [dbo].[Product] WHERE [Id] = @id
        DECLARE @nextid INT
        SET @nextid = @id + 1
        INSERT INTO [dbo].[Product] ([Id], [Name]) VALUES (@id, @name) 
        SELECT [Name] FROM [dbo].[Product] WHERE [Id] = @nextid
    END
    
  3. Presione F5 para ejecutar el código de Transact-SQL.

  4. En el Explorador de objetos de SQL Server, haga clic con el botón derecho en el mismo Motor de base de datos y seleccione Nueva consulta.... Asegúrese de que está conectado a la misma base de datos en la que creó el procedimiento almacenado.

  5. Pegue el código siguiente en la ventana de consulta.

    EXEC [dbo].[AddProduct] 50, N'T-SQL Debugger Test';  
    GO  
    
  6. Haga clic en el margen izquierdo de la ventana para agregar un punto de interrupción a la instrucción EXEC.

  7. Haga clic en la flecha desplegable del botón verde de flecha en la barra de herramientas del editor de Transact-SQL y seleccione Ejecutar con el depurador para ejecutar la consulta con la depuración activada.

  8. Como alternativa, puede iniciar la depuración desde el menú SQL. Seleccione SQL ->Execute with Debugger (Ejecutar con depurador).

  9. Asegúrese de que se abre la ventana Variables locales. De lo contrario, haga clic en el menú Depuración, seleccione Ventanas y Local.

  10. Presione F11 para depurar paso a paso por instrucciones la consulta. Observe que los parámetros del procedimiento almacenado y sus valores respectivos aparecen en la ventana Variables locales. O bien, mantenga el puntero sobre el parámetro @name de la cláusula INSERT y verá que tiene asignado el valor Prueba del depurador de T-SQL.

  11. Seleccione Prueba del depurador de T-SQL en el cuadro de texto. Escriba Validar cambio y presione ENTRAR para cambiar el valor de la variable name durante la depuración. También puede cambiar su valor en la ventana Variables locales. Observe que el valor del parámetro se muestra ahora en rojo, indicando que ha cambiado.

  12. Presione F10 para recorrer paso a paso por procedimientos el código restante.

  13. Cuando se complete la depuración, consulte la tabla Producto para ver su contenido.

    SELECT * FROM [dbo].[Products];  
    GO
    
  14. En la ventana de resultados, observe que existen nuevas filas en la tabla.