Compartilhar via


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.

Depurar um procedimento armazenado

  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].[Products] ([Id] INT, [Name] NVARCHAR(128))
    
    CREATE PROCEDURE [dbo].[AddProduct]
    @id INT,
    @name NVARCHAR(128)
    AS
    BEGIN
        INSERT INTO [dbo].[Products] ([Id], [Name]) VALUES (@id, @name)
        SELECT [Name] FROM [dbo].[Products] WHERE [Id] = @id
        DECLARE @nextid INT
        SET @nextid = @id + 1
        INSERT INTO [dbo].[Products] ([Id], [Name]) VALUES (@id, @name)
        SELECT [Name] FROM [dbo].[Products] 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.

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

  7. Pressione a seta da lista suspensa no botão de seta verde na barra de ferramentas do editor Transact-SQL e selecione Executar com o 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. Caso contrário, selecione o menu Depurar , selecione Windows e Local.

  10. Pressione F11 para entrar na consulta. Os parâmetros do procedimento armazenado e seus respectivos valores 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. O valor do parâmetro é vermelho, indicando uma alteração.

  12. Pressione F10 para percorrer o código restante.

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

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