Compartilhar via


Bibliotecas do .NET Framework com suporte

Aplica-se:SQL Server

Com o CLR (Common Language Runtime) 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 no código gerenciado. Com a funcionalidade encontrada nas bibliotecas de classes do .NET Framework, você tem acesso a classes predefinidas 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 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 GAC (cache de assembly global), seu aplicativo do SQL Server poderá parar de funcionar. Isso ocorre porque as bibliotecas de manutenção ou atualização no GAC não atualizam esses assemblies dentro do SQL Server. Se houver 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 estão registrados no banco de dados, incluindo assemblies do .NET Framework sem suporte, certifique-se de também atender 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 com suporte

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

As bibliotecas/namespaces compatíveis com a integração do 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 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 do SQL Server, usando a instrução CREATE ASSEMBLY, antes que 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 de 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 restrições de modelo de programação de integração clr e de segurança de acesso de código clr integração .