Criar objetos de SQL Server no código gerenciado
Normalmente, quando você define os objetos de banco de dados, você usa o Transact-SQL programming language. No entanto, você também pode usar.Idiomas do NET Framework para definir objetos de banco de dados, como, por exemplo, procedimentos armazenados e disparadores e para recuperar e atualizar dados para SQL Server bancos de dados. Esses objetos muitas vezes são chamados de objetos de tempo de execução de linguagem comum de SQL Server ou objetos CLR de SQL.
Para criar um objeto de banco de dados, você cria um SQL Server o projeto, adicione os itens necessários ao projeto e adicione código para esses itens. Em seguida, compilar o projeto em um assembly e implantá-lo para o SQL Server.
![]() |
---|
Por padrão, o recurso de integração do common language runtime (CLR) está desativado no SQL Server. Para usar itens de projeto do CLR de SQL, você deve habilitar integração CLR. Para fazer isso, use o clr enabled a opção do sp_configure armazenado o procedimento. Para obter mais informações, consulte o clr habilitado a opção tópico no site da Microsoft. |
Compilando, implantando e depurando
Quando você compila seu projeto, ele é compilado em um assembly que pode ser implantado em um banco de dados que está referenciado no projeto e depurado.
![]() |
---|
Como uma alternativa a compilar, implantar e depurar em três etapas separadas, você pode usar o comando Start (F5) ou o comando Start Without Debugging (CTRL+F5) para compilar o assembly, implantá-lo no banco de dados e depurar o objeto de banco de dados. Seu projeto de banco de dados CLR de SQL deve ser definido como seu projeto de inicialização, se você deseja usar F5 ou CTRL + F5. Para obter mais informações, consulte Como: Projetos de inicialização de conjunto. |
Você pode opcionalmente adicionar Transact-SQL instruções para a PreDeployScript.sql e PostDeployScript.sql. Você pode escolher fazer isso, se você precisar executar ações no banco de dados, antes ou depois de implantar o projeto de banco de dados de SQL de CLR.
Antes de você poder depurar o objeto de banco de dados, você deve adicionar Transact-SQL de código para o Test. SQL script, ou você pode adicionar o mesmo Transact-SQL código para uma instância da Transact-SQL editor que está conectado ao banco de dados ao qual você implantou o projeto. O script é importante para a depuração porque ele executa as ações no banco de dados que são necessários para iniciar e testar o objeto de banco de dados. Se o seu projeto de banco de dados do CLR de SQL contém mais de um objeto de banco de dados, o script deve incluir Transact-SQL código para o exercício de cada objeto de banco de dados que você deseja depurar.
Esse requisito de script de depuração difere de um projeto que cria e executa um programa executável independente, como, por exemplo, um projeto Windows Forms. Isso ocorre porque os objetos de banco de dados executados apenas em resposta a ações ou chamadas no banco de dados. Por exemplo, um disparador pode ser ativado quando uma nova linha é inserida em uma tabela. Portanto, o script deve inserir uma nova linha em uma tabela para ativar o disparador. Os resultados do disparador serão exibidos na Output Window no Visual Studio, para que você possa determinar se o disparador está funcionando corretamente.
![]() |
---|
Você deve ter as permissões apropriadas para implantar ou depurar um módulo CLR de SQL. Para obter mais informações, consulte Permissões necessárias para os recursos de banco de dados de Visual Studio. |
Você pode encontrar o código de exemplo para cada tipo de objeto de banco de dados no tópico sobre o tipo.
Depurando o objeto de banco de dados
Quando você depura um objeto de banco de dados, o assembly é compilado, implantado no banco de dados e depurado. Quando você depura um objeto de banco de dados que foi compilado e implantado anteriormente, o assembly é compilado novamente apenas se o projeto tiver sido alterado desde a última vez em que ele foi compilado. O assembly é sempre excluído do banco de dados e copiado novamente. Para obter mais informações, consulte Depuração de banco de dados de objetos que Use código gerenciado (SQL CLR depuração) do.
Para ativar a depuração remota
Em Solution Explorer, clique com o botão direito no projeto SQL CLR para o qual você deseja ativar a depuração remota e clique em Propriedades.
Clique o Deploy guia.
Selecione implantar código de.
Sobre o arquivo menu, clique em Salvar itens selecionados.
Para depurar o objeto de banco de dados
Em Solution Explorer, clique na solução.
No menu Debug, clique em Start.
In the Output window, in the Show output from list, select Database Output to view the results.
Tarefas comuns
Tarefas comuns |
Conteúdo de apoio |
---|---|
Saiba mais sobre projetos de banco de dados do CLR de SQL: Leia sobre as vantagens do desenvolvimento.Objetos de banco de dados do NET Framework para SQL Server usando código gerenciado. Código gerenciado tem várias vantagens em comparação com Transact-SQL. |
|
Obtenha a prática: Siga o passo a passo para se familiarizar com como criar, implantar e testar um projeto que define um procedimento armazenado usando código gerenciado. |
|
Crie um projeto de banco de dados CLR de SQL: Criar um projeto em Visual Basic ou Visual C# que conterá as definições para os objetos de banco de dados que você deseja definir. |
|
Adicione itens ao projeto de banco de dados CLR de SQL: Quando você cria primeiro uma SQL Server o projeto, ele contém somente referências e informações de assembly. Para criar objetos de banco de dados, você deve adicionar itens ao projeto e, em seguida, adicione código para os itens. Você pode adicionar os procedimentos armazenados, agregados, disparadores, funções definidas pelo usuário e tipos definidos pelo usuário. Um atributo deve ser aplicado a cada SQL Server de projeto e cada objeto que ela contém. Você pode definir vários objetos em um projeto. Você pode escolher usar vários projetos se os objetos precisam ser atualizadas de forma independente ou se nem todos os objetos são usados em cada banco de dados ao qual você implantará o assembly resultante. |
|
Implantar o assembly em um SQL Server e testá-lo: Após criar o projeto, adicionar itens e adicione o código a esses itens, você deve implantar o assembly resultante para um SQL Server antes de usar os objetos que você definiu. Se sua SQL Server projeto contém uma referência a um ou mais objetos em outro SQL Server o projeto, você não pode usar o comando Deploy no primeiro projeto para implantar o segundo projeto (referenciado). Depois de implantar o assembly, você pode executar alguns testes simples executando um script de teste. |
|
Debug implantado.Objetos de banco de dados do NET Framework: Se o seu objeto de banco de dados não está funcionando como esperado, você pode depurar o objeto para identificar e corrigir quaisquer defeitos de código. |
Referência
System.Data
Descreve o namespace System.Data e fornece uma tabela de classes relevantes.System.Data.Sql
Descreve o namespace System.Data.Sql e fornece uma tabela de classes relevantes.System.Data.SqlTypes
O namespace System.Data.SqlTypes fornece classes para tipos de dados nativos dentro do SQL Server 2005.Microsoft.SqlServer.Server
Descreve o namespace Microsoft.SqlServer.Server e fornece uma tabela de classes relevantes.
Cenários relacionados
O desenvolvimento de bancos de dados em um ambiente de equipe que fazem referência.Objetos de banco de dados do NET Framework: Você pode usar recursos adicionais de Visual Studio para reduzir riscos e ajudar a acelerar o desenvolvimento de aplicativos de banco de dados em um ambiente de equipe. Definir a esquema de banco de dados em um projeto de banco de dados, colocar seus projetos sob controle de versão e criar testes de unidade de banco de dados para verificar o comportamento esperado.