什麼是 C# 語言延伸模組?
適用於:SQL Server 2019 (15.x) 和更新版本
C# 語言延伸模組是 SQL Server 語言延伸模組的一項功能,可用於在 SQL Server 中執行 C# 程式碼。 您可以將現有的 SQL Server 資料表當作 DataFrame 傳遞至 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# 中執行資料清理、快速資料查詢,或可透過 DataFrame 進行的任何其他處理。 藉由將 C# 程式碼內嵌於預存程序,您可以將商務邏輯向下推送至資料庫,以提升效能。 這有助於避免不必要的資料移動和延遲,因為不需要從 SQL Server 擷取資料,再移入應用程式層以執行商務邏輯處理。
開始使用
設定開發工具。
- 使用您慣用的 IDE 開發 C# 程式碼。
- 安裝適用於 SQL Server 的 Microsoft Extensibility SDK for C#,以在 SQL Server 上執行 C# 程式碼。
- 使用 SQL Server Management Studio (SSMS) 或 Azure Data Studio,在 SQL Server 上執行外部程式碼。
- 使用系統預存程序 sp_execute_external_script,在 SQL Server 上執行 C# 程式碼。
撰寫您的第一個 C# 程式碼。 使用以下教學課程作為起點。 教學課程:在 C# 中使用規則運算式 (regex) 搜尋字串。