什麼是 C# 語言延伸模組?

適用於:SQL Server 2019 (15.x) 和更新版本

開放原始碼 .NET C# 語言延伸模組SQL Server 語言延伸模組的一項功能,可用於在 SQL Server 中執行 C# 程式碼。 您可以將現有的 SQL Server 資料表當作 DataFrame 傳遞至 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# 中執行資料清理、快速資料查詢,或可透過 DataFrame 進行的任何其他處理。 藉由將 C# 程式碼內嵌於預存程序,您可以將商務邏輯向下推送至資料庫,以提升效能。 這有助於避免不必要的數據移動和延遲,因為數據不需要從 SQL Server 擷取,並移至應用層以執行商業規則處理。

開始使用

C# 語言延伸模組未隨 SQL Server 一起安裝。 若要安裝和設定 C# 延伸模組,請參閱 .NET Core CSharp 語言延伸模組 (英文)。 RegEx 範例 (英文) 教學課程說明如何建立 C# 程式,以使用規則運算式來檢查 SQL 資料表中的文字。