Debug de funções CLR no SQL Server

Boa noite pessoas!

Para tratar uma dúvida que surgiu a respeito do debug (acompanhando a execução) de funções CLR-SQL, neste artigo realizarei uma breve demonstração, com a qual espero responder boa parte dos questionamentos relacionados.

Debug de funções CLR no SQL Server

Continuando com o mesmo exemplo do artigo anterior, colocarei um breakpoint na linha “double AB = ab.Value”.

Para quem não conhece o lendário breakpoint, ele é uma ferramenta utilizada para pausar a execução do código, no momento em que a instrução será passada para o servidor, tornando possível observar os estados das variáveis naquele “momento”.

Para inserir um breakpoint, basta clicar sobre a margem esquerda do código que aparecerá o breakpoint (bolinha vermelha), como no exemplo abaixo:

Na pasta “Test Scripts” do projeto, existe um arquivo SQL (ou você pode criar o seu), o qual eu alterarei para executar o seguinte comando SQL:

SELECT dbo.Pitagoras(3,2) AS Resultado;

Após salvar as alterações, executarei o debug deste arquivo clicando com o botão esquerdo sobre o mesmo e chamando o item “Debug Script”, conforme a figura abaixo.

Se você preferir, é possível optar pelo item “Set as Default Debug Script”, permitindo chamar a execução deste arquivo com o botão F5 ou clicando sobre o botão de debug (semelhante a um botão de “play” na cor verde).

Caso aparecer uma mensagem de erro por falta de privilégios/acessos no SQL Server, este problema pode ser resolvido se você executar o Visual Studio como Administrador do sistema (se a conexão for Windows Authentication) ou utilizando um usuário com mais privilégios (se a conexão for SQL Authentication).

Se houver algum bloqueio de seu firewall, você receberá um aviso, desta forma será necessário que selecionar uma das opções “Unblock remote debugging…”.

clr_out3_3

Feito todos os procedimentos, será possível acompanhar o debug da função no SQL Server, como observado na figura abaixo (para prosseguir utilize o botão F10 ou F11).

As mensagens e os resultados fornecidos pelo SQL Server podem ser verificadas na janela de Output, “Show output from: Debug”, conforme verificado abaixo.

Obrigado pelos emails e comentários relacionados aos artigos de CLR, principalmente pelas críticas!

A respeito das dúvidas, fiquem a vontade de perguntar, estarei respondendo sempre que eu puder!

Para o próximo artigo, já estou preparando um material para explicar como se “instala” estas funções CLR no SQL Server.

 

Posts relacionados:

Habilitando CLR no SQL Server:
https://sqlfromhell.wordpress.com/2009/09/19/habilitando-clr/

Criando funções CLR para o SQL Server:
https://sqlfromhell.wordpress.com/2009/09/26/funcoes-clr/

Habilitando SQL Authentication e o usuário “sa”:
https://sqlfromhell.wordpress.com/2009/05/24/habilitando-sql-authentication-e-o-usuario-sa/

9 pensamentos sobre “Debug de funções CLR no SQL Server

  1. Pingback: Publicando Assemblies e Funções CLR no SQL Server « Sql From Hell.com

  2. Pingback: WebService e funções CLR no SQL Server « Sql From Hell.com

  3. Pingback: F# no SQL Server « Sql From Hell.com

  4. Pingback: Publicando Assemblies CLR no SQL Server pelo Visual Studio « Sql From Hell.com

  5. Pingback: O que mudou nos projetos SQL CLR do Visual Studio 2010? « Sql From Hell.com

  6. Pingback: Trabalhando com CLR: Stored Procedure – Step 1 « Sql From Hell.com

  7. Pingback: Trabalhando com SQL CLR – Resumo « SQL From Hell.com

  8. Pingback: Trabalhando com SQL CLR – Resumo « SQL From Hell.com

  9. Paulo, muito obrigado!!!!

    Resolveu o que estava me atrapalhando.
    Cara, seu tutorial foi simplesmente fantastico.
    Muito obrigado.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s