Partilhar via


Bibliotecas do .NET Framework com suporte

Aplica-se a:SQL Server

Com o Common Language Runtime (CLR) hospedado no 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 em código gerenciado. Com a funcionalidade encontrada nas bibliotecas de classes do .NET Framework, você tem acesso a classes pré-criadas que fornecem funcionalidade para manipulação de cadeia de caracteres, operações matemáticas avançadas, acesso a arquivos, criptografia e muito mais. Essas classes podem ser acessadas a partir de qualquer procedimento armazenado gerenciado, tipo definido pelo usuário, gatilho, função definida pelo usuário ou agregação definida pelo usuário.

Se você atender ou atualizar assemblies sem suporte no cache de assembly global (GAC), 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 do SQL Server. Se existir um assembly em um banco de dados do 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 pela integração CLR do SQL Server. Se você atender ou atualizar quaisquer assemblies no GAC que também estejam registrados no banco de dados, incluindo assemblies do .NET Framework sem suporte, certifique-se de também fazer a manutenção ou atualizar a cópia do assembly dentro de seus bancos de dados do SQL Server com a instrução ALTER ASSEMBLY. Para obter mais informações, consulte MSSQLSERVER_6522.

Bibliotecas suportadas

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

As bibliotecas/namespaces suportados pela integração CLR no SQL Server são:

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

Bibliotecas não suportadas

As bibliotecas sem suporte ainda podem ser chamadas a partir de seus procedimentos armazenados gerenciados, gatilhos, funções definidas pelo usuário, tipos definidos pelo usuário e agregações definidas pelo usuário. A biblioteca sem suporte deve primeiro ser registrada no banco de dados do SQL Server, usando a instrução CREATE ASSEMBLY, antes de poder ser usada em seu código. Qualquer biblioteca sem suporte registrada e executada no servidor deve ser revisada e testada quanto à segurança e confiabilidade.

Por exemplo, o namespace System.DirectoryServices não é suportado. Você deve registrar o assembly System.DirectoryServices.dll com UNSAFE permissões antes de poder chamá-lo a partir do seu código. A permissão UNSAFE é necessária porque as classes no namespace System.DirectoryServices não atendem aos requisitos para SAFE ou EXTERNAL_ACCESS. Para obter mais informações, consulte restrições do modelo de programação de integração CLR e integração CLR Code Access Security.