¿Qué es la extensión de lenguaje C#?

Se aplica a: SQL Server 2019 (15.x) y versiones posteriores.

La extensión de lenguaje C# es una característica de Extensiones de lenguaje de SQL Server que puede utilizarse para ejecutar código C# dentro de SQL Server. Puede pasar una tabla de SQL Server existente a una aplicación de C# como DataFrame, realizar operaciones en C# mediante bibliotecas enriquecidas y obtener un conjunto de resultados. Esta extensión de lenguaje C# permite reutilizar código C#, cálculos, lógica o bibliotecas extensas existentes que proporcionan funcionalidad que no se puede obtener en Transact-SQL (T-SQL).

El lenguaje C# externo se define con CREATE EXTERNAL LANGUAGE. El procedimiento almacenado del sistema sp_execute_external_script se usa como interfaz para ejecutar el código C#.

Nota:

La extensión de lenguaje C# es compatible con SQL Server 2019 (15.x) CU 3 y versiones posteriores. Actualmente, integra .NET Core solo en SQL Server para Windows. Linux no se admite.

Qué puede hacer

La extensión de lenguaje C# usa el marco de extensibilidad para ejecutar código C# externo. La ejecución del código está aislada de los procesos principales del motor, pero está totalmente integrada con la ejecución de consultas de SQL Server. Puede ejecutar código C# en el origen de los datos, lo que elimina la necesidad de extraer datos a través de la red.

Puede hacer limpieza de datos, una consulta rápida de datos o cualquier otro procesamiento en C# que pueda realizarse a través de un DataFrame. Al insertar código C# en procedimientos almacenados, puede insertar lógica de negocios en la base de datos para mejorar el rendimiento. Esto ayuda a evitar el movimiento y la latencia de datos innecesarios, ya que no es preciso recuperar los datos de SQL Server y trasladarlos al nivel de aplicación para realizar el procesamiento de lógica de negocios.

Introducción

  1. Instale la extensión de lenguaje .NET de SQL Server en Windows.

  2. Configure herramientas de desarrollo.

  3. Escriba código C# por primera vez. Use el siguiente tutorial como punto inicial. Tutorial: Búsqueda de una cadena mediante expresiones regulares (regex) en C#.