Partilhar via


Bibliotecas do .NET Framework compatíveis

Aplica-se a: 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 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 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 assemblies no GAC que também estejam 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 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), o SQL Server tem uma lista de bibliotecas do .NET Framework com suporte, que foram testadas para garantir que 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 (Cache de Assembly Global).

As bibliotecas/namespaces compatíveis com a integração do CLR no 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 do SQL Server, usando a instrução CREATE ASSEMBLY , antes de poder 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 chamá-lo do seu 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 do modelo de programação de integração CLR e Segurança de acesso ao código de integração CLR.

Confira também

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