什么是 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 检索数据且无需将数据移到应用层来执行业务逻辑处理。
开始使用
配置开发工具。
- 使用喜欢的 IDE 来开发 C# 代码。
- 安装 SQL Server 用于 C# 的 Microsoft 扩展性 SDK 以在 SQL Server 上执行 C# 代码。
- 使用 SQL Server Management Studio (SSMS) 或 Azure Data Studio 在 SQL Server 上执行外部代码。
- 使用系统存储过程 sp_execute_external_script 在 SQL Server 上执行 C# 代码。
编写第一个 C# 代码。 请使用以下教程作为起点。 教程:在 C# 中使用正则表达式 (regex) 搜索字符串。