Configurando e iniciando o depurador Transact-SQL

Você pode iniciar o depurador Transact-SQL depois de abrir uma janela do Editor de Consultas do Mecanismo de Banco de Dados. Em seguida, você pode executar seu código Transact-SQL no modo de depuração até parar o depurador. Para satisfazer seus requisitos, você pode personalizar o funcionamento do depurador definindo opções.

Configurando o Depurador Transact-SQL

O depurador Transact-SQL inclui componentes do lado do servidor e do lado do cliente. Os componentes do depurador do lado do servidor são instalados com cada instância do SQL Server 2008Mecanismo de Banco de Dados. Os componentes do lado do cliente são instalados quando você instala as ferramentas do lado do clienteSQL Server 2008.

Não há requisitos de configuração para executar o depurador Transact-SQL quando o SQL Server Management Studio está sendo executado no mesmo computador da instância do Mecanismo de Banco de Dados do SQL Server. Entretanto, para executar o depurador Transact-SQL quando o SQL Server Management Studio está sendo executado em um computador diferente da instância do Mecanismo de Banco de Dados, você deve habilitar exceções de programa e de porta usando o aplicativo do Painel de Controle Firewall do Windows em ambos os computadores.

No computador que está executando a instância do Mecanismo de Banco de Dados, no Firewall do Windows, especifique as seguintes informações:

  • Adicione a porta TCP 135 à lista de exceções.

  • Adicione o programa sqlservr.exe à lista de exceções. Por padrão, sqlservr.exe é instalado em C:\Arquivos de Programas\Microsoft SQL Server\MSSQL10.InstanceName\MSSQL\Binn, em que InstanceName é MSSQLSERVER para a instância padrão ou o nome de qualquer instância nomeada.

  • Se a diretiva do domínio exigir que as comunicações de rede sejam feitas por IPsec, você também deverá adicionar a porta UDP 4500 e a porta UDP 500 à lista de exceções.

No computador que está executando o SQL Server Management Studio, em Firewall do Windows, especifique as seguintes informações:

  • Adicione a porta TCP 135 à lista de exceções.

  • Adicione o programa ssms.exe do (SQL Server Management Studio) à lista de exceções. Por padrão, ssms.exe é instalado em C:\Arquivos de Programas\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE.

Iniciando e Parando o Depurador

Os requisitos para iniciar o depurador Transact-SQL são os seguintes:

  • SQL Server Management Studio deve estar sendo executado sob uma conta do Windows que seja um membro da função de servidor fixa sysadmin.

  • A janela do Editor de Consultas do Mecanismo de Banco de Dados deve ser conectada usando um logon de Autenticação do Windows ou Autenticação do SQL Server que seja um membro da função de servidor fixa sysadmin.

  • A janela do Editor de Consultas do Mecanismo de Banco de Dados deve estar conectada a uma instância do SQL Server 2008Mecanismo de Banco de Dados. Não é possível executar o depurador quando a janela do Editor de Consultas está conectada a uma instância que está em modo de usuário único.

Recomendamos que o código Transact-SQL seja depurado em um servidor de teste, não um servidor de produção, pelas seguintes razões:

  • A depuração é uma operação altamente privilegiada. Portanto, somente membros da função de servidor fixa sysadmin estão autorizados a depurar no SQL Server.

  • As sessões de depuração freqüentemente são executadas por longos períodos de tempo enquanto você investiga as operações de várias instruções Transact-SQL. Os bloqueios adquiridos pela sessão, como os bloqueios de atualização, podem ser mantidos por longos períodos até que a sessão seja encerrada ou a transação confirmada ou revertida.

Quando o depurador Transact-SQL é iniciado, a janela do Editor de Consultas é colocada em modo de depuração. Quando a janela do Editor de Consultas entra em modo de depuração, o depurador faz uma pausa na primeira linha de código. Nesse ponto, você pode avançar passo a passo pelo código, fazendo pausas de execução em instruções Transact-SQL específicas, e usar as janelas do depurador para exibir o estado atual de execução. Você pode iniciar o depurador clicando no botão Depurar da barra de ferramentas Consulta ou em Iniciar Depuração no menu Depurar.

A janela do Editor de Consultas permanece em modo de depuração até que a última instrução na janela do Editor de Consultas seja concluída ou você pare o modo de depuração. Você pode parar o modo de depuração e a execução de instruções usando um dos seguintes métodos:

  • No menu Depurar, clique em Parar Depuração.

  • Na barra de ferramentas Depurar, clique no botão Parar Depuração.

  • No menu Consulta, clique em Cancelar Execução de Consulta.

  • Na barra de ferramentas Consulta, clique no botão Cancelar Execução de Consulta.

Também é possível parar o modo de depuração e permitir que as instruções Transact-SQL restantes sejam concluídas clicando em Desanexar Tudo no menu Depurar.

Controlando o depurador

Você pode controlar a forma como o depurador Transact-SQL opera usando os seguintes comandos de menu, barras de ferramentas e atalhos:

  • O menu Depurar e a barra de ferramentas Depurar. O menu Depurar e a barra de ferramentas Depurar permanecem inativos até que o foco seja colocado em uma janela do Editor de Consultas aberta. Eles permanecem ativos até que o projeto atual seja fechado.

  • Os atalhos de teclado do depurador.

  • O menu de atalho do Editor de Consultas. O menu de atalho é exibido quando você clica em uma linha com o botão direito do mouse em uma janela do Editor de Consultas. Quando a janela do Editor de Consultas está em modo de depuração, o menu de atalho exibe comandos do depurador aplicáveis à linha ou cadeia de caracteres selecionada.

  • Itens de menu e comandos de contexto nas janelas que são abertas pelo depurador, como as janelas de Inspeção ou Pontos de Interrupção.

A tabela a seguir mostra os comandos de menu, botões da barra de ferramentas e atalhos de teclado do depurador.

Comando do menu Depurar

Comando de atalho do Editor

Botão da barra de ferramentas

Atalho de teclado

Ação

Janelas/Pontos de Interrupção

Não disponível

Pontos de interrupção

CTRL+ALT+B

Exibir a janela Pontos de Interrupção, que permite exibir e gerenciar pontos de interrupção.

Janelas/Inspeção/Inspeção1

Não disponível

Pontos de Interrupção/Inspeção/Inspeção1

CTRL+ALT+W, 1

Exibir a janela Inspeção1.

Janelas/Inspeção/Inspeção2

Não disponível

Pontos de Interrupção/Inspeção/Inspeção2

CTRL+ALT+W, 2

Exibir a janela Inspeção2.

Janelas/Inspeção/Inspeção3

Não disponível

Pontos de Interrupção/Inspeção/Inspeção3

CTRL+ALT+W, 3

Exibir a janela Inspeção3.

Janelas/Inspeção/Inspeção4

Não disponível

Pontos de Interrupção/Inspeção/Inspeção4

CTRL+ALT+W, 4

Exibir a janela Inspeção4.

Janelas/Locais

Não disponível

Pontos de Interrupção/Locais

CTRL+ALT+V, L

Exibir a janela Locais.

Janelas/Pilha de Chamadas

Não disponível

Pontos de Interrupção/Pilha de Chamadas

CTRL+ALT+C

Exibir a janela Pilha de Chamadas.

Janelas/Threads

Não disponível

Pontos de Interrupção/Threads

CTRL+ALT+H

Exibir a janela Threads.

Continuar

Não disponível

Continuar

ALT+F5

Executar até o próximo ponto de interrupção. Continuar permanece inativo até que o foco esteja em uma janela do Editor de Consultas que esteja em modo de depuração.

Iniciar Depuração

Não disponível

Iniciar Depuração

ALT+F5

Colocar uma janela do Editor de Consultas em modo de depuração e executar até o primeiro ponto de interrupção. Se o foco estiver em uma janela do Editor de Consultas que esteja em modo de depuração, Iniciar Depuração é substituído por Continuar.

Interromper Tudo

Não disponível

Interromper Tudo

CTRL+ALT+BREAK

Esse recurso não é usado pelo depurador Transact-SQL.

Parar Depuração

Não disponível

Parar Depuração

SHIFT+F5

Tirar uma janela do Editor de Consultas do modo de depuração e recolocá-la no modo regular.

Desanexar Tudo

Não disponível

Não disponível

Não disponível

Pára o modo de depuração, mas executa as instruções restantes na janela do Editor de Consultas.

Depuração Total

Não disponível

Depuração Total

F11

Executar a próxima instrução e também abrir uma nova janela do Editor de Consultas em modo de depuração se a próxima instrução executar um procedimento armazenado, gatilho, ou função.

Depuração Parcial

Não disponível

Depuração Parcial

F10

O mesmo que Depuração Total, mas nenhuma função, procedimento armazenado ou gatilho é depurado.

Depuração Circular

Não disponível

Depuração Circular

SHIFT+F11

Executar o código restante de um gatilho, função ou procedimento armazenado sem fazer uma pausa em qualquer ponto de interrupção. O modo de depuração regular é restaurado quando o controle é devolvido ao código que chamou o módulo.

Não disponível

Cursor Executar Até

Não disponível

CTRL+F10

Executar todo o código desde o último local de parada até o local atual do cursor sem parar em qualquer ponto de interrupção.

InspeçãoDeVariáveisRápida

InspeçãoDeVariáveisRápida

Não disponível

CTRL+ALT+Q

Exibir a janela InspeçãoDeVariáveisRápida.

Alternar Ponto de Interrupção

Ponto de Interrupção/Inserir Ponto de Interrupção

Não disponível

F9

Posicionar um ponto de interrupção na instrução Transact-SQL atual ou selecionada.

Não disponível

Ponto de Interrupção/Excluir Ponto de Interrupção

Não disponível

Não disponível

Excluir o ponto de interrupção da linha selecionada.

Não disponível

Ponto de Interrupção/Desabilitar Ponto de Interrupção

Não disponível

Não disponível

Desabilitar o ponto de interrupção na linha selecionada. O ponto de interrupção permanecerá na linha de código, mas não parará a execução até ser reativado.

Não disponível

Ponto de Interrupção/Habilitar Ponto de Interrupção

Não disponível

Não disponível

Habilitar o ponto de interrupção na linha selecionada.

Excluir Todos os Pontos de Interrupção

Não disponível

Não disponível

CTRL+SHIFT+F9

Excluir todos os pontos de interrupção.

Desabilitar Todos os Pontos de Interrupção

Não disponível

Não disponível

Não disponível

Desabilitar todos os pontos de interrupção.

Não disponível

Adicionar Inspeção

Não disponível

Não disponível

Adicionar a expressão selecionada à janela Inspeção.