Compartir a través de


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 que se encuentra en las bibliotecas de clases de .NET Framework, tiene acceso a clases precompiladas 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.

Si servicio o actualiza ensamblados no admitidos en la caché global de ensamblados (GAC), la aplicación de SQL Server puede dejar 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 produce un error cuando la integración clR de SQL Server usa 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 proporcionar servicio o actualizar la copia del ensamblado dentro de las bases de datos de SQL Server con la instrucción ALTER ASSEMBLY. Para obtener más información, vea MSSQLSERVER_6522.

Bibliotecas admitidas

SQL Server tiene una lista de las bibliotecas de .NET Framework admitidas que se prueban 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 clR en SQL Server son:

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

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. En primer lugar, la biblioteca no admitida debe registrarse en la base de datos de 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 de 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 de CLR y integración de CLR Code Access Security.