什么是 C# 语言扩展?

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

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

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

注意

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

可执行的操作

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

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

开始使用

  1. 在 Windows 上安装 SQL Server .NET 语言扩展

  2. 配置开发工具。

  3. 编写第一个 C# 代码。 请使用以下教程作为起点。 教程:在 C# 中使用正则表达式 (regex) 搜索字符串