什麼是 SQL Server 語言延伸模組?

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

語言延伸模組是 SQL Server 的一個功能,用來執行外部程式碼。 關聯式資料可使用擴充性架構,用於外部程式碼中。 在 SQL Server 2019 (15.x) 和更新版本中,支援 Java、C#、Python 和 R 運行時間。

注意

若要在 SQL Server 中執行 Python 或 R,請參閱 機器學習 Services with Python 和 R 檔。 透過 SQL Server 2019 (15.x) 和更新版本,您可以搭配語言延伸模組使用自定義 Python 和 R 運行時間。 如需詳細資訊,請參閱安裝適用於 SQL Server 的 Python 自定義運行時間和安裝 SQL Server 的 R 自定義運行時間。

語言延伸模組的用途

語言延伸模組會使用擴充性架構來執行外部程式碼。 程式碼執行與核心引擎流程隔離,但與 SQL Server 查詢執行完全整合。 您可在資料來源執行程式碼,而不用在網路中提取資料。

外部語言是使用 CREATE EXTERNAL LANGUAGE 定義的。 系統預存程序 sp_execute_external_script 用來當作執行程式碼的介面使用。

語言延伸模組提供多項優點:

  • 資料安全性。 讓外部語言執行更接近資料來源,可以避免不安全的資料移動。

  • 速度。 資料庫已針對集合型操作進行最佳化。

  • 簡化部署和整合。 SQL Server 是許多其他資料管理工作與應用程式的作業中心點。 使用資料庫中的資料,可確保語言延伸模組使用最新且一致的資料。

原生 Common Language Runtime 整合 可讓您使用 .NET 語言實作 SQL Server 的某些功能。 如需 SQL CLR 與 SQL 語言延伸模組之間差異的討論,請參閱比較 SQL Server 語言延伸模組與 SQL CLR