Criando objetos de banco de dados com integração CLR (Common Language Runtime)
Você pode compilar objetos de banco de dados que usam a integração do SQL Server com o CLR do .NET Framework. O código gerenciado executado no Microsoft SQL Server é mencionado como "rotina CLR". Essas rotinas incluem:
Funções definidas pelo usuário com valor escalar (UDFs escalares)
Funções definidas pelo usuário com valor de tabela (TVFs)
Procedimentos definidos pelo usuário (UDPs)
Gatilhos definidos pelo usuário
As rotinas CLR têm a mesma estrutura no código gerenciado. Elas são mapeadas para métodos públicos e estáticos (compartilhados no Microsoft Visual Basic .NET) de uma classe. Além das rotinas, também podem ser definidos UDTs (tipos definidos pelo usuário) e funções de agregação definida pelo usuário usando o .NET Framework. Os UDTs e as agregações definidas pelo usuário são mapeados para classes inteiras do .NET Framework.
Cada tipo de rotina do .NET Framework tem uma declaração Transact-SQL e pode ser usada em qualquer lugar no SQL Server que o equivalente de Transact-SQL possa ser usado. Por exemplo, UDFs escalares podem ser usados em qualquer expressão escalar. Uma TVF pode ser usada em qualquer cláusula FROM. Um procedimento pode ser invocado em uma instrução EXEC ou de um aplicativo cliente.
Observação |
---|
A execução de um objeto CLR (função definida pelo usuário, tipo definido pelo usuário ou gatilho) no Common Language Runtime poderá acontecer em vários threads (plano paralelo), se o otimizador de consulta achar que isso é benéfico. No entanto, se uma função definida pelo usuário acessar dados, a execução estará em um plano serial. Quando executado em uma versão de servidor antes do SQL Server 2008, se uma função definida pelo usuário contiver parâmetros LOB ou valores de retorno, execução também deverá estar em um plano serial. Para obter mais informações, consulte Processamento paralelo de consultas. |
Observe que não é possível usar o Visual Studio .NET 2003 para a programação de integração 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.
A tabela a seguir lista os tópicos abordados nesta seção.
Introdução à integração CLR
Fornece uma visão geral breve das bibliotecas e namespaces necessários para compilar um objeto usando a integração CLR com o SQL Server. Inclui o exemplo de procedimento armazenado CLR "Hello World".Bibliotecas do .NET Framework compatíveis
Fornece informações sobre as bibliotecas do .NET Framework suportadas pela integração CLR.Restrições do modelo de programação da Integração CLR
Fornece informações sobre restrições de modelo de programação de integração CLR.Tipos de dados do SQL Server no .NET Framework
Uma visão geral dos tipos de dados do SQL Server e seus equivalentes do .NET Framework.Visão geral dos atributos personalizados da integração CLR
Fornece informações sobre atributos personalizados de integração CLR.Funções CLR definidas pelo usuário
Descreve como implementar e usar os vários tipos de funções CLR: com valor de tabela, escalares e funções de agregação definida pelo usuário.Tipos CLR definidos pelo usuário
Descreve como implementar e usar tipos definidos pelo usuário CLR.Procedimentos armazenados CLR
Descreve como implementar e usar procedimentos armazenados CLR.Gatilhos CLR
Descreve como implementar e usar gatilhos CLR.