Partilhar via


Implantando objetos de banco de dados CLR

Aplica-se a: 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 Microsoft 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 gerenciados também podem ser compilados com os arquivos de redistribuição do Microsoft .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. Observe que o Visual Studio .NET 2003 não pode ser usado na programação de integração ou no desenvolvimento do CLR. O SQL Server fornece o .NET Framework pré-instalado, e o Visual Studio .NET 2003 não pode usar os assemblies do .NET Framework 2.0.

Quando testados e verificados no servidor de teste, os métodos do CLR podem 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 (consulte o procedimento mais adiante neste tópico).

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 Enabling CLR Integration.

Implantando 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 Microsoft Visual Studio para desenvolvimento, depuração e desenvolvimento remotos. Para obter mais informações sobre como habilitar o protocolo TCP/IP no servidor, consulte Configurar protocolos de cliente.

Para implantar o assembly que usa o Visual Studio

  1. Compile o projeto selecionando Nome do projeto> de compilação<no menu Compilar.

  2. Resolva todos os erros de compilação e avisos antes de implantar o assembly no servidor de teste.

  3. Selecione Implantar no menu Compilar . O assembly será 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.

Para implantar o assembly que usa Transact-SQL

  1. Compile o assembly no arquivo de origem que usa os compiladores de linha de comando incluídos no .NET Framework.

  2. Para arquivos de origem do Microsoft Visual C#:

  3. csc /target:library C:\helloworld.cs

  4. Para arquivos de origem do Microsoft Visual Basic:

vbc /target:library C:\helloworld.vb

Esses comandos iniciam o compilador Visual C# ou Visual Basic usando a opção /target para especificar a criação de uma DLL de biblioteca.

  1. Resolva todos os erros de compilação e avisos antes de implantar o assembly no servidor de teste.

  2. Abra o SQL Server Management Studio no servidor de teste. Crie uma consulta nova, conectada a um banco de dados de teste correspondente (como, por exemplo, AdventureWorks).

  3. Crie o assembly no servidor adicionando o Transact-SQL a seguir à consulta.

CREATE ASSEMBLY HelloWorld from 'c:\helloworld.dll' WITH PERMISSION_SET = SAFE;

  1. 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 chamado HelloWorld na classe Procedures , o Transact-SQL a seguir poderá ser adicionado à consulta para criar um procedimento chamado hello 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 do CLR, Agregações definidas pelo usuário do CLR, Tipos definidos pelo usuário do CLR, Procedimentos armazenados do CLR e Gatilhos do CLR.

Implantando o assembly em servidores de produção

Uma vez testados e verificados no servidor de teste, os objetos de banco de dados do CLR podem ser distribuídos para servidores de produção. Para obter mais informações sobre como depurar objetos de banco de dados gerenciados, consulte Depurando 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 compilado manualmente, ou usando "Gerar Scripts", e alterados 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.

Para gerar um script de implantação usando scripts de geração

  1. 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.

  2. No Pesquisador de Objetos, expanda o nome> do servidor e as <á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.

  3. Selecione o banco de dados na caixa de listagem e clique em Avançar.

  4. No painel Escolher Opções de Script, clique em Avançar ou altere as opções e clique em Avançar.

  5. No painel Escolher Tipos de Objeto, escolha o tipo de objeto de banco de dados a ser implantado. Clique em Avançar.

  6. 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 clique em Avançar.

  7. O painel Opções de Saída é exibido 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. Revise suas seleções e clique em Concluir. O script de implantação é salvo no caminho do arquivo especificado.

Scripts pós-implantação

É 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ê clicar na implantação, o Visual Studio executará esse script após a implantação do projeto.

Confira também

Conceitos de programação da Integração CLR (Common Language Runtime)