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

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

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

注意

若要在 SQL Server 中執行 Python 或 R,請參閱 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 是許多其他資料管理工作與應用程式的作業中心點。 使用資料庫中的資料,可確保語言延伸模組使用最新且一致的資料。

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

如需擴充性架構安全性的詳細資訊,請參閱 SQL Server 機器學習服務中擴充性架構的安全性結構