什么是 C# 语言扩展?

适用于:SQL Server 2019 (15.x) 及更高版本

开源 .NET C# 语言扩展SQL Server 语言扩展的一项功能,可用于执行 SQL Server 中的 C# 代码。 可以将现有 SQL Server 表作为数据帧传递给 C# 应用程序,使用丰富的库执行 C# 中的操作,并获取结果集。 通过此 C# 语言扩展可以重复使用现有 C# 代码、计算、逻辑或丰富的库,这些库可提供无法在 T-SQL 中获取的功能。

外部 C# 语言通过 CREATE EXTERNAL LANGUAGE 定义。 系统存储过程 sp_execute_external_script 用作执行 C# 代码的接口。

注意

C# 语言扩展与 SQL Server 2019 (15.x) CU 3 及更高版本兼容。 目前,其仅在适用于 Windows 的 SQL Server 上集成 .NET Core。

可执行的操作

C# 语言扩展使用扩展性框架来执行外部 C# 代码。 代码执行与核心引擎进程隔离,但与 SQL Server 查询执行完全集成。 你可以在数据的源中执行 C# 代码,而无需通过网络提取数据。

你可以在 C# 中通过数据帧执行数据清理、快速数据查询或任何其他处理。 通过在存储过程中嵌入 C# 代码,可以将业务逻辑向下推送到数据库以获得更好的性能。 这有助于避免不必要的数据移动和延迟,因为无需从 SQL Server 检索数据且无需将数据移到应用层来执行业务逻辑处理。

开始使用

C# 语言扩展不随 SQL Server 一起安装。 若要安装和配置 C# 扩展,请参阅 .Net Core CSharp 语言扩展Regex 示例教程演示如何创建一个使用正则表达式的 C# 程序来检查 SQL 表中的文本。