Crear objetos de base de datos con la integración de Common Language Runtime (CLR)

Se aplica a: SQL Server

Puede compilar objetos de base de datos mediante la integración de SQL Server con Common Language Runtime (CLR) de .NET Framework. El código administrado que se ejecuta dentro de Microsoft SQL Server se conoce como una "rutina CLR". Estas rutinas incluyen:

  • Funciones definidas por el usuario con valores escalares (UDF escalares)

  • Funciones definidas por el usuario con valores de tabla (TVF)

  • Procedimientos definidos por el usuario (UDP)

  • Desencadenadores definidos por el usuario

Las rutinas CLR tienen la misma estructura en código administrado. Se asignan a métodos públicos estáticos (compartidos en .NET de Microsoft Visual Basic) de una clase. Además de las rutinas, los tipos definidos por el usuario (UDT) y las funciones de agregado definidas por el usuario también se pueden definir mediante .NET Framework. Los UDT y los agregados definidos por el usuario están asignados a las clases de .NET Framework completas.

Cada tipo de rutina de .NET Framework tiene una declaración de Transact-SQL y se puede usar en cualquier lugar de SQL Server que se pueda usar el equivalente de Transact-SQL. Por ejemplo, los UDF escalares se pueden usar en cualquier expresión escalar. Un TVF se puede usar en cualquier cláusula FROM. Un procedimiento se puede invocar en una instrucción EXEC o bien, desde una aplicación cliente.

Nota:

La ejecución de un objeto CLR (función definida por el usuario, tipo definido por el usuario o desencadenador) en el Common Language Runtime puede tener lugar en varios subprocesos (el plan paralelo), si el optimizador de consultas decide que es beneficioso. Sin embargo, si una función definida por el usuario tiene acceso a los datos, la ejecución estará en un plan de serie. Cuando se ejecuta en una versión de servidor anterior a SQL Server 2008 (10.0.x), si una función definida por el usuario contiene parámetros LOB o valores devueltos, la ejecución también debe estar en un plan serie.

En la siguiente tabla se enumeran los temas incluidos en esta sección.

Introducción a la integración CLR
Proporciona una breve introducción a las bibliotecas y los espacios de nombres necesarios para compilar objetos mediante la integración clR con SQL Server. Incluye un procedimiento almacenado CLR "Hello World" de ejemplo.

Bibliotecas de .NET Framework admitidas
Proporciona información sobre las bibliotecas de .NET Framework admitidas por la integración CLR.

Restricciones del modelo de programación de la integración CLR
Proporciona información sobre las restricciones del modelo de programación de integración CLR.

Tipos de datos de SQL Server en .NET Framework
Información general sobre los tipos de datos de SQL Server y sus equivalentes de .NET Framework.

Información general de los atributos personalizados de la integración CLR
Proporciona información sobre los atributos personalizados de integración CLR.

Funciones CLR definidas por el usuario
Describe cómo implementar y usar los distintos tipos de funciones CLR: funciones de agregado definidas por el usuario, escalares y con valores de tabla.

Tipos definidos por el usuario CLR
Describe cómo implementar y usar los tipos definidos por el usuario CLR.

Procedimientos almacenados de CLR
Describe cómo implementar y usar los procedimientos almacenados CLR.

Desencadenadores de CLR
Describe cómo implementar y usar los desencadenadores CLR.

Consulte también

Información general sobre integración de Common Language Runtime (CLR)