Bibliotecas de .NET Framework admitidas

Se aplica a:SQL Server

Con Common Language Runtime (CLR) hospedado en SQL Server, puede crear procedimientos almacenados, desencadenadores, funciones definidas por el usuario, tipos definidos por el usuario y agregados definidos por el usuario en código administrado. Con la funcionalidad de las bibliotecas de clases de.NET Framework, tiene acceso a clases pregeneradas que proporcionan funcionalidad para la manipulación de cadenas, operaciones matemáticas avanzadas, acceso a archivos, criptografía, etc. Se puede tener acceso a estas clases desde cualquier procedimiento almacenado administrado, tipo definido por el usuario, desencadenador, función definida por el usuario o agregado definido por el usuario.

Nota

Si servicio o actualiza ensamblados no admitidos en la caché global de ensamblados (GAC), es posible que la aplicación de SQL Server deje de funcionar. Esto se debe a que el mantenimiento o la actualización de bibliotecas en la GAC no actualiza esos ensamblados dentro de SQL Server. Si existe un ensamblado en una base de datos de SQL Server y en la GAC, las dos copias del ensamblado deben coincidir exactamente. Si no coinciden, se producirá un error cuando SQL Server integración clR use el ensamblado. Si realiza un servicio o actualiza los ensamblados de la GAC que también están registrados en la base de datos, incluidos los ensamblados de .NET Framework no admitidos, asegúrese de atender o actualizar también la copia del ensamblado dentro de las bases de datos de SQL Server con la instrucción ALTER ASSEMBLY. Para más información, consulte el artículo 949080 de Knowledge Base.

Bibliotecas compatibles

A partir de SQL Server 2005 (9.x), SQL Server tiene una lista de bibliotecas de .NET Framework compatibles, que se han probado para asegurarse de que cumplen los estándares de confiabilidad y seguridad para la interacción con SQL Server. Las bibliotecas admitidas no necesitan registrarse explícitamente en el servidor para poder usarlas en el código; SQL Server los carga directamente desde la caché global de ensamblados (GAC).

Las bibliotecas o espacios de nombres admitidos por la integración de CLR en SQL Server son:

  • 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 no compatibles

También se puede llamar a bibliotecas no compatibles desde los procedimientos almacenados administrados, desencadenadores, funciones definidas por el usuario, tipos definidos por el usuario y agregados definidos por el usuario. La biblioteca no admitida debe registrarse primero en la base de datos SQL Server, mediante la instrucción CREATE ASSEMBLY, para poder usarla en el código. Las bibliotecas no compatibles que se registren y se ejecuten en el servidor se deben revisar y probar para garantizar la seguridad y la confiabilidad.

Por ejemplo, no se admite el espacio de nombres System.DirectoryServices . Debe registrar el ensamblado System.DirectoryServices.dll con permisos UNSAFE para poder llamarlo desde el código. El permiso UNSAFE es necesario porque las clases del espacio de nombres System.DirectoryServices no cumplen los requisitos de SAFE o EXTERNAL_ACCESS. Para obtener más información, consulte Restricciones del modelo de programación de integración clR y seguridad de acceso al código de integración clR.

Consulte también

Crear un ensamblado
Seguridad de acceso del código de integración CLR
Restricciones del modelo de programación de la integración CLR