Bibliotecas do .NET Framework compatíveis

Aplica-se a:SQL Server

Com o CLR (Common Language Runtime) hospedado em SQL Server, você pode criar procedimentos armazenados, gatilhos, funções definidas pelo usuário, tipos definidos pelo usuário e agregações definidas pelo usuário no código gerenciado. Com a funcionalidade contida nas bibliotecas de classe do .NET Framework, você tem acesso a classes pré-criadas que fornecem recursos de manipulação de cadeia de caracteres, operações matemáticas avançadas, acesso a arquivos, criptografia, e mais. Essas classes podem ser acessadas de qualquer procedimento armazenado gerenciado, tipo definido pelo usuário, gatilho, função definida pelo usuário ou agregação definida pelo usuário.

Observação

Se você atender ou atualizar assemblies sem suporte no GAC (cache de assembly global), seu aplicativo SQL Server poderá parar de funcionar. Isso ocorre porque a manutenção ou atualização de bibliotecas no GAC não atualiza esses assemblies dentro de SQL Server. Se houver um assembly em um banco de dados SQL Server e no GAC, as duas cópias do assembly deverão corresponder exatamente. Se eles não corresponderem, ocorrerá um erro quando o assembly for usado por SQL Server integração CLR. Se você atender ou atualizar assemblies no GAC que também estão registrados no banco de dados, incluindo assemblies .NET Framework sem suporte, certifique-se de também atender ou atualizar a cópia do assembly dentro de seus bancos de dados SQL Server com a instrução ALTER ASSEMBLY. Para obter mais informações, consulte o artigo 949080 da Base de Dados de Conhecimento.

Bibliotecas com suporte

A partir do SQL Server 2005 (9.x), SQL Server tem uma lista de bibliotecas de .NET Framework com suporte, que foram testadas para garantir que atendam aos padrões de confiabilidade e segurança para interação com SQL Server. As bibliotecas com suporte não precisam ser registradas explicitamente no servidor antes que possam ser usadas em seu código; SQL Server os carrega diretamente do GAC (Cache de Assembly Global).

As bibliotecas/namespaces compatíveis com a integração clr em SQL Server são:

  • CustomMarshalers
  • Microsoft.VisualBasic
  • Microsoft.VisualC
  • mscorlib
  • Sistema
  • System.Configuration
  • System.Core
  • System.Data
  • System.Data.OracleClient
  • System.Data.SqlXml
  • System.Deployment
  • System.Security
  • System.Transactions
  • System.Web.Services
  • System.Xml
  • System.Xml.Linq

Bibliotecas sem-suporte

As bibliotecas sem-suporte ainda podem ser chamadas de seus procedimentos armazenados gerenciados, gatilhos, funções definidas pelo usuário, tipos definidos pelo usuário e agregações definidos pelo usuário. A biblioteca sem suporte deve primeiro ser registrada no banco de dados SQL Server, usando a instrução CREATE ASSEMBLY, antes que ela possa ser usada em seu código. Qualquer biblioteca sem-suporte que é registrada e executada no servidor deveria ser examinada e testada para fins de segurança e confiabilidade.

Por exemplo, não há suporte para o namespace System.DirectoryServices . Você deve registrar o assembly System.DirectoryServices.dll com permissões UNSAFE antes de poder chamá-lo do código. A permissão UNSAFE é necessária porque as classes no namespace System.DirectoryServices não atendem aos requisitos de SAFE ou EXTERNAL_ACCESS. Para obter mais informações, consulte ClR Integration Programming Model Restrictions and CLR Integration Code Access Security.

Consulte Também

Criando um assembly
Segurança de acesso a código da integração CLR
Restrições do modelo de programação da Integração CLR