Vantagens de usar código gerenciado para criar objetos de bancos de dados

Você pode usar linguagens do .NET Framework além da linguagem de programação do Transact-SQL objetos de banco de dados e recuperar e atualizar dados de bancos dados Microsoft SQL Server 2005.Em projetos Visual Basic, Visual C# ou Visual C++ você pode criar procedimentos armazenados, disparadores, agregados, funções definidas pelo usuário, e tipos definidos pelo usuário.

Observação:

Por padrão, o Common linguagem tempo de execução Recurso de integração (CLR) está desativado em Microsoft SQL servidor .Ele deve ser ativado para usar itens de projeto do SQL servidor.Para ativar integração CLR, use o clr enabled opção da sp_configure procedimento armazenado. Para obter mais informações, consulte Habilitar integração CLR.

A lista a seguir é um resumo das vantagens de usar uma linguagem .NET Framework em vez de Transact-SQL:

  • Modelo de programação avançada   Liguagens do .NET Framework oferecem construções e recursos anteriormente disponíveis aos desenvolvedores SQL.

  • Segurança e confiabilidade avançadas   Código gerenciado é executado em um ambiente common language runtime hospedado pelo mecanismo de banco de dados.Isso permite a objetos de banco de dados .NET Framework serem mais seguros e mais confiáveis que os procedimentos armazenados extendidos disponíveis nas versões anteriores do SQL Server.

  • Agregados e tipos definidos pelo usuário   Tipos e agregados definidos pelo usuário são dois novos objetos de banco de dados gerenciados que expandem as capacidades de armazenamento e de consulta do SQL Server.

  • Desenvolvimento de banco de dados Ambiente de desenvolvimento comuns é integrado ao ambiente de desenvolvimento Microsoft Visual Studio.Desenvolvedores usam as mesmas ferramentas para desenvolvimento e depuração de objetos de banco de dados e scripts como eles usar para escrever componentes e serviços de camada intermediária e de camada cliente do .NET Framework.

  • Melhor desempenho Algumas Funções, tais como aquelas que executam operações matemáticas em cada linha de um banco de dados, podem executar melhor quando elas são assemblies compilados que são construídos em um projeto Visual Basic, Visual C# ou Visual C++ do quando elas são escritas em Transact-SQL, que é código interpretado.Por exemplo, melhorias de desempenho serão obtidas para funções, particularmente as que executam operações com inteiros.Entretanto, procedimentos armazenados que só acessam dados não executarão melhor.

  • Riqueza de linguagem Visual Basic, Visual C# e Visual C++ fornecem recursos que não estão disponíveis em Transact-SQL, como matrizes, manipulação de exceção sofisticada, e reusabilidade de código.

  • Reusabilidade de código Uma Biblioteca de módulos (assemblies) gerenciados pode ser criada e distribuída mais facilmente do que um script Transact-SQL pode se distribuído.

  • Extensibilidade   Usando o Visual Basic, Visual translation from VPE for Csharp ou Visual C++, você pode criar dois objetos de banco de dados que não podem ser criados com o Transact-SQL: agregados e tipos definidos pelo usuário.

  • Aproveitar habilidades existente   Você pode usar e aprimorar suas habilidades nas linguagens e ambiente de desenvolvimento no qual você ainda estiver experiente para criar objetos de banco de dados.

  • Experiência do desenvolvedor mais rica Quando você desenvolve objetos de banco de dados usando o modelo de projeto SQL Server, você tem integração completa com o sistema do projeto.Isso inclui construir, depurar e implementar em vários servidores.

  • Estabilidade e confiabilidade Os objetos de banco de dados que você cria usando Visual Basic, Visual C#, ou Visual C++ são mais seguros, estáveis e confiáveis do que procedimentos armazenados extendidos, que podem causar vazamento de memória ou outros problemas que reduzem a performance e confiabilidade do servidor.Quando você executa procedimentos armazenados que foram criados em Visual Basic, Visual C#, ou Visual C++, gerenciamento de memória e threading não são executados pelo procedimentos armazenado e, portanto, manipulados mais robustamente.

  • Segurança Quando você usa objetos de banco de dados criados em Visual Basic, Visual C#, ou Visual C++, o acesso a código dessas linguagens é combinado com as permissões baseadas no usuário no SQL Server.

Procedimentos armazenados e disparadores

Os procedimentos armazenados são uma coleção pré-compilada de instruções de programação que executam operações no banco de dados, e são armazenadas sob um nome e processadas como uma unidade.Para obter mais informações sobre procedimentos armazenados, consulte a documentação do SQL Server.

Um disparar é um tipo especial de procedimento armazenado que é ativado quando você modifica dados em uma tabela especificada usando uma ou mais operações de modificação de dados: atualização, INSERT ou excluir.Para obter mais informações sobre disparadores, consulte a documentação do SQL Server.

Desenvolvimento de procedimentos armazenados e disparadores é aprimorado pela riqueza da linguagem do Visual Basic, Visual C# e do Visual C++, particularmente quando você está implementanado a lógica complexa de procedimento que é necessária para impor regras comerciais.Além disso, o .NET Framework contém muitas bibliotecas.De interesse particular são aquelas que fornecem a capacidade de gerenciar muitos aspectos de criptografia, as bibliotecas matemáticas abrangentes, e o acesso externo à serviços da Web, arquivos, e sistemas de comunicação negócio-para-negócio.

Funções

Funções operam em um ou mais valores para retornar um valor escalar ou uma tabela.Para obter mais informações sobre os tipos de funções que fornecem a linguagem de programação Transact-SQL, consulte a documentação do SQL Server.

Assim como procedimentos armazenados e disparadores, o desenvolvimento de funções é aprimorado pela riqueza de linguagem do Visual Basic, Visual C# e Visual C++, e pelo acesso às muitas bibliotecas que o .NET Framework contém.

Agregados

Funções agregadas são usadas para resumir todos os dados em uma tabela.Executar um cálculo em um conjunto de valores e retornar um único valor escalar.Para obter mais informações sobre as funções agregadas que são fornecidas pela linguagem de programação Transact-SQL, consulte a documentação do SQL Server.

Para complementar as funções agregadas, você pode definir novos agregados que executam funções aritméticas mais complexa.Por exemplo, você pode executar um cálculo nos dados de várias linhas e retornar um valor ou criar uma sequência de caracteres concatenada.

Tipos definidos pelo usuário

Tipos especificam a natureza dos dados.Para obter informações sobre o conjunto de tipos de dados do sistema fornecidos com o SQL Server, consulte a documentação do SQL Server.

Usando o Visual Basic, Visual C# e Visual C++, você pode definir novos tipos de forma que você não está mais limitado aos tipos predefinidos que são fornecidos com o SQL Server.Você pode criar simples tipos, como códigos postais ou tipos mais complexos para analisar as informações retornadas de uma transação de cartão de crédito.Também, quando você está trebalhando com tipos definidos pelo usuário, os dados podem ser interpretados e manipulados tanto no SQL client qunato no SQL Server; usando ADO.NET, você pode fazer download de um assembly que contém um tipo definido do SQL Server e usá-lo para examinar dados no SQL client.

Consulte também

Tarefas

Como: Criar um projeto de SQL servidor

Como: Criar e executar um CLR SQL servidor Stored procedimento

Como: Criar e executar um disparar CLR SQL servidor

Como: Criar e executar uma agregação de servidor SQL CLR

Como: Criar and Run a CLR SQL servidor função definida pelo usuário

Como: Criar and Run a CLR SQL servidor tipo definido pelo usuário

Demonstra Passo a passo: Criando um procedimento armazenado em código gerenciado

Como: Depurar um SQL CLR Procedimento Armazenado

Conceitos

Introduction to Integration CLR SQL Servidor

Vantagens de usar código gerenciado para criar objetos de bancos de dados

Modelos de Item para Projetos do SQL Server

Referência

Atributos para projetos SQL Server e objetos de bancos de dados

Outros recursos

Depuração de banco de dados SQL CLR