Implantar objetos de banco de dados CLR
Aplica-se:SQL Server
Implantação é o processo pelo qual você distribui um aplicativo concluído ou módulo a ser instalado e executado em outro computador. Usando o Visual Studio, você pode desenvolver objetos de banco de dados CLR (Common Language Runtime) e implantá-los em um servidor de teste. Como alternativa, os objetos de banco de dados gerenciado também podem ser compilados com os arquivos de redistribuição do .NET Framework, em vez do Visual Studio. Depois de compilados, os assemblies que contêm os objetos de banco de dados CLR podem ser implantados em um servidor de teste usando instruções do Visual Studio ou Transact-SQL.
Depois que os métodos CLR forem testados e verificados no servidor de teste, eles poderão ser distribuídos para servidores de produção usando um script de implantação. O script de implantação pode ser gerado manualmente ou usando o SQL Server Management Studio (abordado posteriormente neste artigo).
O recurso de integração CLR é desativado por padrão no SQL Server e deve ser habilitado para usar assemblies CLR. Para obter mais informações, consulte Habilitarde integração clr.
Implantar o assembly no servidor de teste
Usando o Visual Studio, é possível desenvolver funções, procedimentos, gatilhos, UDTs (tipos definidos pelo usuário) ou UDAs (agregações definidas pelo usuário) e implantá-los em um servidor de teste. Os objetos de banco de dados gerenciados também podem ser compilados com os compiladores de linha de comando como, por exemplo, csc.exe e vbc.exe, incluídos nos arquivos de redistribuição do .NET Framework. O Ambiente de Desenvolvimento Integrado do Visual Studio não é necessário para desenvolver objetos de banco de dados gerenciados para o SQL Server.
Verifique se todos os erros e avisos do compilador são resolvidos. Os assemblies que contêm as rotinas CLR podem ser registrados em um banco de dados do SQL Server usando instruções do Visual Studio ou Transact-SQL.
Observação
O protocolo de rede TCP/IP deve ser habilitado na instância do SQL Server para usar o Visual Studio para desenvolvimento remoto, depuração e desenvolvimento. Para obter mais informações sobre como habilitar o protocolo TCP/IP no servidor, consulte Configurar protocolos de cliente.
Implantar o assembly usando o Visual Studio
Crie o projeto selecionando
de nome do projeto buildno menu compilar . Resolva todos os erros de compilação e avisos antes de implantar o assembly no servidor de teste.
Selecione Implantar no menu Compilar . Em seguida, o assembly é registrado na instância do SQL Server e no banco de dados especificado quando o projeto do SQL Server foi criado pela primeira vez no Visual Studio.
Implantar o assembly usando Transact-SQL
Compile o assembly no arquivo de origem que usa os compiladores de linha de comando incluídos no .NET Framework.
Para arquivos de origem em C#:
csc /target:library C:\helloworld.cs
Para arquivos de origem do Visual Basic:
vbc /target:library C:\helloworld.vb
Esses comandos iniciam o compilador C# ou Visual Basic usando a opção /target
para especificar a criação de uma DLL de biblioteca.
Resolva todos os erros de compilação e avisos antes de implantar o assembly no servidor de teste.
Abra o SQL Server Management Studio no servidor de teste. Crie uma nova consulta, conectada a um banco de dados de teste adequado (como
AdventureWorks2022
).Crie o assembly no servidor adicionando o Transact-SQL a seguir à consulta.
CREATE ASSEMBLY HelloWorld from 'c:\helloworld.dll' WITH PERMISSION_SET = SAFE;
O procedimento, a função, a agregação, o tipo definido pelo usuário ou o gatilho devem ser criados na instância do SQL Server. Se o assembly
HelloWorld
contiver um método chamadoHelloWorld
na classeProcedures
, o Transact-SQL a seguir poderá ser adicionado à consulta para criar um procedimento chamadohello
no SQL Server.CREATE PROCEDURE hello AS EXTERNAL NAME HelloWorld.Procedures.HelloWorld;
Para obter mais informações sobre como criar os diferentes tipos de objetos de banco de dados gerenciados no SQL Server, consulte:
- funções definidas pelo usuário clr
- agregações definidas pelo usuário clr
- tipos clr definidos pelo usuário
- procedimentos armazenados clr
- gatilhos CLR
Implantar o assembly em servidores de produção
Depois que os objetos de banco de dados CLR forem testados e verificados no servidor de teste, eles poderão ser distribuídos aos servidores de produção. Para obter mais informações sobre como depurar objetos de banco de dados gerenciados, consulte Como depurar objetos de banco de dados CLR.
A implantação de objetos de banco de dados gerenciados é semelhante à de objetos de banco de dados regulares (tabelas, rotinas Transact-SQL e assim por diante). Os assemblies que contêm os objetos de banco de dados do CLR podem ser implantados em outros servidores que usam um script de implantação. O script de implantação pode ser criado usando a funcionalidade Gerar Scripts do Management Studio. O script de implantação também pode ser criado manualmente ou criado usando gerar scripts e alterado manualmente. Depois que o script de implantação for criado, ele poderá ser executado em outras instâncias do SQL Server para implantar os objetos de banco de dados gerenciados.
Gerar um script de implantação usando gerar scripts
Abra o Management Studio e conecte-se à instância do SQL Server em que o assembly gerenciado ou o objeto de banco de dados a ser implantado está registrado.
No Pesquisador de Objetos, expanda o nome do servidor e <>árvores Bancos de Dados. Clique com o botão direito do mouse no banco de dados em que o objeto de banco de dados gerenciado está registrado, selecione Tarefas e, em seguida, selecione Gerar Scripts. O Assistente de Script é aberto.
Selecione o banco de dados na caixa de listagem e selecione Próximo.
No painel Escolher Opções de Script, selecione Próximoou altere as opções e selecione Avançar.
No painel Escolher Tipos de Objeto, escolha o tipo de objeto de banco de dados a ser implantado. Selecione Avançar.
Para cada tipo de objeto selecionado no painel Escolher tipos de objeto, um painel Escolher <tipo> é apresentado. Nesse painel, é possível escolher uma dentre todas as instâncias do tipo de objeto de banco de dados registrado no banco de dados especificado. Selecione um ou mais objetos e selecione Próximo.
O painel opções de saída
aparece quando todos os tipos de objeto de banco de dados desejados são selecionados. Selecione Script para arquivo e especifique um caminho de arquivo para o script. Selecione Avançar. Examine suas seleções e selecione Concluir. O script de implantação é salvo no caminho do arquivo especificado.
Pós-implantação de scripts
É possível executar um script de pós-implantação.
Para adicionar um script de pós-implantação, adicione um arquivo chamado postdeployscript.sql no diretório do projeto do Visual Studio. Por exemplo, clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione Adicionar Item Existente. Adicione o arquivo na raiz do projeto, e não na pasta Test Scripts.
Quando você seleciona a implantação, o Visual Studio executará esse script após a implantação do projeto.