SQL Server CLR Integration passo a passo

Apesar dos assemblies em .net terem surgido no SQL Server 2005, frequentemente surgem dúvidas relacionadas a implementação. Abaixo segue um pequeno passo a passo de como iniciar o uso do CLR no SQL Server.
O objetivo aqui será criar uma stored procedure que ao ser executada imprima o retorno “Alô Mundo”. Para este desenvolvimento vou utilizar o Visual Studio 2008 com Visual Basic e o SQL Server 2008 R2.
No momento da codificação do objeto de banco de dados no Visual Studio vamos utilizar um objeto chamado SQLPipe. O SQLPipe é o mecanismo utilizado para enviar um objeto de comando de volta ao objeto que o chamou.
Antes de iniciar os passos a seguir garanta que você tem permissão no servidor de banco de dados. Crie um banco de dados teste para aplicar o assembly que será criado.
No menu File do Visual Studio selecione New Project, na tela de Projects Types selecione Database, no painel Templates selecione SQL Server Project.

 

Ao confirmar a criação deste projeto abrirá uma janela New Database Reference, com pedindo os parâmetros de configuração para acessar o database alvo do desenvolvimento.

No Solution Explorer vamos visualizar a estrutura padrão do template selecionado, para criar a Stored Procedure clique com o botão direito sobre o ícone do projeto (SqlServerProject1) e selecione Add em seguida Stored Procedure.

 

Ao adicionar o stp_AloMundo.vb ao projeto o mesmo criará uma classe, que será o alvo da edição. Veja o código abaixo:

Deploy do Assembly

O deploy é o processo de entregar o assembly ao destino, nesse caso o banco escolhido no inicio do projeto. Para concluir o deploy basta acessar o menu build e deploy.

Executando a Stored Procedure

Os Assenblies ficam dentro de Programmability, e os objetos pertencentes aos assemblies ficam dentro da pasta dos seus respectivos objetos. Perceba na imagem abaixo que dentro de Stored Procedures há um objeto chamado stp_AloMundo, esse é o fruto do desenvolvimento.

A execução segue como qualquer outra stored procedure do SQL Server, com a sintaxe padrão.

Para finalizar, são diversas as vantagens do uso de .Net Assemblies com o SQL Server entre os quais a mais significativa, na minha opinião, é a poder centralizar alguma regra especifica do negócio sem atribuir ao SQL Server esse processamento.

Abraço, Rodrigo.

Author: SQLCrespi

Rodrigo Crespi é MVP Data Platform, MCT, MCSE, MCSA, MCIT, MCDBA e MCP em SQL Server, possuí outras certificações em .NET Framework, Dynamics CRM e etc. Iniciou trabalhando com SQL Server na versão 6.5 na época como desenvolvedor, logo direcionou a sua carreira para a área de administração de bancos de dados. Atualmente é Sócio da CrespiDB – Soluções em Plataformas de Dados, além de professor universitário na Uniftec – Caxias do Sul Autor de diversos artigos publicados em sites e revistas sobre SQL Server e engenharia de software, mantem o canal SQLCrespi no Youtube, o blog SQLCrespi, além de ser dedicado ao SQL Server RS PASS Chapter Leader do grupo de profissionais em SQL Server do Rio Grande do Sul.

Deixe uma resposta