Depurar procedimentos armazenados

O depurador Transact-SQL permite depurar procedimentos armazenados interativamente exibindo a pilha de chamadas de SQL, variáveis locais e parâmetros para o procedimento armazenado de SQL. O depurador Transact-SQL dá suporte à exibição e modificação de variáveis e parâmetros locais, exibindo variáveis globais. Ele também fornece a capacidade de controlar e gerenciar pontos de interrupção ao depurar o script Transact-SQL.

Este exemplo mostra como criar e depurar um procedimento armazenado Transact-SQL passo a passo.

Observação

A depuração do Transact-SQL não está disponível para o Banco de Dados SQL do Azure ou a Instância Gerenciada de SQL do Azure.

Para depurar procedimentos armazenados

  1. Na janela Editor de Consultas do Mecanismo de Banco de Dados, conecte-se a uma instância do Mecanismo de Banco de Dados do SQL Server. Selecione um banco de dados no qual você possa criar um procedimento armazenado de exemplo.

  2. Cole o seguinte código no Editor de Consultas.

    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. Pressione F5 para executar o código Transact-SQL.

  4. No Pesquisador de Objetos do SQL Server, clique com o botão direito do mouse no mesmo Mecanismo de Banco de Dados e selecione Nova Consulta.... Verifique se você está conectado ao mesmo banco de dados no qual criou o procedimento armazenado.

  5. Cole o código a seguir na janela de consulta.

    EXEC [dbo].[AddProduct] 50, N'T-SQL Debugger Test';  
    GO  
    
  6. Clique na margem da janela esquerda para adicionar um ponto de interrupção à instrução EXEC.

  7. Pressione a seta suspensa no botão de seta verde na barra de ferramentas do editor Transact-SQL e selecione Executar com Depurador para executar a consulta com a depuração ativada.

  8. Como alternativa, você pode iniciar a depuração no menu SQL. Selecione SQL ->Executar com o depurador.

  9. Verifique se a janela Locais está aberta. Se não estiver, clique no menu Depurar, selecione Janelas e Local.

  10. Pressione F11 para entrar na consulta. Observe que os parâmetros do procedimento armazenado e seus valores respectivos aparecem na janela Locais. Como alternativa, passe o mouse sobre o parâmetro @name na cláusula INSERT para ver o valor Teste do Depurador do T-SQL sendo atribuído a ele.

  11. Selecione Teste do Depurador do T-SQL na caixa de texto. Digite Validar Alteração e pressione ENTER para alterar o valor da variável name enquanto depura. Você também pode alterar seu valor na janela Locais. Observe que o valor do parâmetro está vermelho, indicando uma alteração.

  12. Pressione F10 para depurar parcialmente o código restante.

  13. Quando a depuração estiver concluída, consulte a tabela Produto para exibir seu conteúdo.

    SELECT * FROM [dbo].[Products];  
    GO
    
  14. Na janela de resultados, observe que existem novas linhas na tabela.