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

Além de Transact-SQL a linguagem de programação, você pode usar.Idiomas do NET Framework para criar objetos de banco de dados e recuperar e atualizar dados para SQL Server bancos de dados. Em Visual Basic ou Visual C# projetos, você pode criar procedimentos armazenados, disparadores, agregados, funções definidas pelo usuário e tipos definidos pelo usuário. Os objetos de banco de dados que são escritos em código gerenciado são chamados objetos de tempo de execução de linguagem comum de SQL Server ou SQL CLR.

ObservaçãoObservação

Por padrão, o recurso de integração do common language runtime (CLR) está desativado no SQL Server. Para usar SQL Server projeto itens, você deve habilitar integração do 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.

A lista a seguir está um resumo das vantagens de usar um.Idioma do NET Framework em vez de Transact-SQL:

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

  • 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.Objetos de banco de dados do NET Framework para ser mais seguro e mais seguro do que os procedimentos armazenados estendidos em versões anteriores do SQL Server. Quando você usa objetos de banco de dados criados em Visual Basic ou Visual C# a segurança de acesso a código dessas linguagens é combinada com as permissões de usuário no SQL Server.

  • Agregados e tipos definidos pelo usuáriotipos definidos pelo usuário e agregados definidos pelo usuário são dois objetos de banco de dados gerenciados que expandem o armazenamento e consultar os recursos 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 desempenhoalgumas funções, tais como aquelas que executam operações matemáticas em cada linha em um banco de dados podem executar melhor quando elas são compiladas em assemblies que são criadas em um Visual Basic ou Visual C# de projeto de quando elas são escritas em Transact-SQL, que é interpretado código. 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 Basicou Visual C# fornecem recursos que não estão disponíveis em Transact-SQL, como arrays, sofisticada manipulação de exceção e reusabilidade de código.

  • Reusabilidade de códigouma biblioteca de assemblies gerenciados pode ser criada e distribuída mais facilmente do que uma Transact-SQL script pode ser distribuído.

  • Extensibilidadeusando Visual Basic ou Visual C# você pode criar dois objetos de banco de dados que não podem ser criados usando 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.

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

  • Confiabilidade e estabilidadeos objetos de banco de dados que você cria usando Visual Basic ou Visual C# são mais segura, estável, robusto e confiável de procedimentos armazenados estendidos, que podem produzir vazamentos de memória ou outros problemas que reduzem o desempenho e confiabilidade do servidor. Quando você executa procedimentos armazenados que foram criados no Visual Basic ou Visual C# memória, gerenciamento e threading não são realizadas pelo procedimento armazenado e portanto são manipulados mais verdadeiramente.

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 o SQL Server documentação.

Um disparador é um tipo especial de procedimento armazenado que é ativado quando você modifica dados em uma tabela especificada usando uma ou mais das operações de modificação de dados: ATUALIZAR, inserir ou excluir. Você também pode criar disparadores de nível de banco de dados que são acionados em resposta a instruções de linguagem de definição de dados (DDL). Esses disparadores podem ser usados para executar tarefas administrativas no banco de dados, como, por exemplo, auditoria e reguladora de operações de banco de dados. Para obter mais informações sobre disparadores, consulte o SQL Server documentação.

Desenvolvimento de procedimentos armazenados e disparadores é aprimorado pela riqueza de linguagem de Visual Basic e Visual C#, especialmente quando você está implementando a lógica complexa de procedimento que é necessário para impor regras de negócios. 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 o Transact-SQL fornece a linguagem de programação, consulte o SQL Server documentação.

Assim como procedimentos armazenados e disparadores, o desenvolvimento de funções é aprimorado pela riqueza de linguagem de Visual Basic e Visual C#e por acesso as 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 fornecidos pelo Transact-SQL linguagem de programação, consulte o SQL Server documentação.

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 dados do sistema de tipos fornecidos com o SQL Server, consulte a SQL Server documentação.

Usando Visual Basic 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 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. Além disso, quando você estiver trabalhando com tipos definidos pelo usuário, dados podem ser interpretados e manipulados em ambos os SQL client e SQL Server; usando ADO.NET, você pode fazer o download de um assembly que contém uma definição de tipo da SQL Server e usá-lo para examinar os dados a SQL do cliente.

Consulte também

Tarefas

Como: Criar um projeto para os objetos de banco de dados que usam a integração de tempo de execução de linguagem comum SQL Server

Como: Criar e executar um procedimento armazenado do SQL Server usando a integração do Common Language Runtime

Como: Criar e executar um disparador de SQL Server usando a integração do Common Language Runtime

Como: Criar e executar um agregado de SQL Server usando a integração do Common Language Runtime

Como: Criar e executar uma função de SQL Server User-Defined usando a integração do Common Language Runtime

Como: Criar e executar um tipo de SQL Server User-Defined usando a integração do Common Language Runtime

Demonstra Passo a passo: Criar um procedimento armazenado no código gerenciado

Como: Depurar um CLR SQL procedimento armazenado

Referência

Atributos para objetos de banco de dados e de projetos de banco de dados do CLR de SQL

Conceitos

Introduction to SQL Server CLR Integration (ADO.NET)

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