Como: Depurar objetos de banco de dados
Um teste de unidade do SQL Server consiste no seguinte:
Código de teste de unidade escrito no Visual C# ou Visual Basic.Este código, que é gerado pelo Designer de Teste de Unidade do SQL Server, é responsável por enviar o script Transact-SQL que forma o corpo do teste.
Uma ou mais condições de teste, que são gravadas na linguagem Visual C# ou Visual Basic.Para depurar condições de teste, siga o procedimento para depurar um teste de unidade conforme descrito em Como depurar enquanto um teste está sendo executado (Visual Studio 2010) ou Como depurar enquanto um teste está sendo executado (Visual Studio 2012).
Um ou mais scripts Transact-SQL executados nos objetos do banco de dados que você está testando.Você não pode depurar esses scripts Transact-SQL.
Os procedimentos deste tópico descrevem como depurar objetos de banco de dados específicos, como procedimentos armazenados, funções e gatilhos no banco de dados que você está testando.Para depurar um objeto de banco de dados, siga estes procedimentos nesta ordem:
Habilitar a depuração do SQL Server no projeto de teste.
Habilite a depuração de aplicativo na instância do SQL Server que hospeda o banco de dados que você está testando.
Defina pontos de interrupção no script Transact-SQL do objeto de banco de dados que você está depurando.
Depurar o teste de unidade.Neste procedimento, você executa o teste no modo de depuração.
Para habilitar a depuração do SQL Server no projeto de teste
Abrir o Gerenciador de Soluções.
No Gerenciador de Soluções, clique com o botão direito do mouse no projeto de teste e clique em Propriedades.
A página de propriedades que tem o mesmo nome do projeto de teste é aberta.
Na página de propriedades, clique em Depurar.
Em Habilitar depuradores, clique em Ativar depuração do SQL Server.
Salve as alterações.
Para definir o tempo limite maior do contexto de execução para habilitar a depuração do projeto de teste
No menu Arquivo, aponte para Abrir e clique em Arquivo.
Navegue até a pasta que contém o projeto de teste e clique duas vezes no arquivo app.config.
O arquivo app.config é aberto no editor.
Modifique o nó ExecutionContext para adicionar um tempo limite de comando, como no exemplo a seguir:
<ExecutionContext CommandTimeout ="300" Provider="System.Data.SqlClient" ConnectionString="Data Source=TargetServerName\TargetInstanceName;Initial Catalog=TargetDatabaseName;Integrated Security=True;Pooling=False" />
Salve as alterações.
Recompilar o projeto de teste de unidade.
Importante |
---|
Se você não recompilar o projeto, as alterações feitas no arquivo app.config não serão aplicadas quando você executar os testes de unidade, e a depuração falhará. |
Para adicionar pontos de interrupção ao script Transact-SQL
No menu Exibir, abra o Gerenciador de Objetos do SQL Server.
Em Conexões de Dados, expanda o nó do banco de dados que você deseja testar.
Se um “x” vermelho pequeno aparecer ao lado do ícone de banco de dados, a conexão com o banco de dados será fechada.Nesse caso, clique com o botão direito do mouse no banco de dados e clique em Atualizar.Talvez seja necessário fornecer credenciais para abrir a conexão com o banco de dados.
Expanda o nó Exibições, Procedimentos Armazenados ou Funções para localizar o objeto a ser depurado.
Clique duas vezes no objeto a ser depurado.
Clique na barra lateral cinza para definir um ponto de interrupção.
Para depurar o teste de unidade do SQL Server
Visual Studio 2010, abra a janela (Testar -> Windows) Modo de Teste.No Visual Studio 2012, abra a janela Gerenciador de Testes.
Clique com o botão direito do mouse no teste cujo script Transact-SQL usa o objeto de banco de dados em que você define pontos de interrupção e selecione Depurar Seleção.
O teste é executado no modo de depuração até que seja encontrado um ponto de interrupção no objeto de banco de dados.
(Opcional) Para abrir outra janela de depuração, abra o menu Depurar, aponte para Janelas e clique em Pontos de Interrupção, Saída ou Imediato.
Consulte também
Executando testes de unidade do SQL Server
Depurando o Transact-SQL (Visual Studio 2010)