Compartir a través de


Bibliotecas de .NET Framework admitidas

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 mantiene o actualiza ensamblados no compatibles en la caché de ensamblados global (GAC), la aplicación de SQL Server podría dejar de funcionar. Esto se debe a que el mantenimiento o la actualización de bibliotecas en la GAC no actualiza estos ensamblados dentro de SQL Server. Si un ensamblado existe 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 la integración CLR de SQL Server utilice el ensamblado. Si mantiene o actualiza cualquier ensamblado en la GAC que también esté registrado en la base de datos, incluidos los ensamblados de .NET Framework no compatibles, asegúrese de que también mantiene o actualiza 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 el artículo de Knowledge Base 949080.

Bibliotecas compatibles

A partir de SQL Server 2005, SQL Server incluye una lista de bibliotecas de .NET Framework compatibles probadas para garantizar que satisfacen las normas de confiabilidad y seguridad para la interacción con SQL Server. Las bibliotecas compatibles no necesitan registrarse explícitamente en el servidor antes de utilizarlas en el código; SQL Server las carga directamente desde la caché de ensamblados global (GAC).

Las bibliotecas/espacios de nombres que admite la integración CLR en SQL Server son:

  • CustomMarshalers

  • Microsoft.VisualBasic

  • Microsoft.VisualC

  • mscorlib

  • System

  • System.Configuration

  • System.Data

  • System.Data.OracleClient

  • System.Data.SqlXml

  • System.Deployment

  • System.Security

  • System.Transactions

  • System.Web.Services

  • System.Xml

  • System.Core.dll

  • System.Xml.Linq.dll

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 compatible se debe registrar previamente en la base de datos de SQL Server, mediante la instrucción CREATE ASSEMBLY, antes de utilizarla 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, el espacio de nombres System.DirectoryServices no se admite. Debe registrar el ensamblado System.DirectoryServices.dll con permisos UNSAFE antes de 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 ni EXTERNAL_ACCESS. Para obtener más información, vea Restricciones del modelo de programación de la integración CLR y Seguridad de acceso del código de integración CLR.