Azure SQL 管理實例中的機器學習服務

機器學習 Services 是 Azure SQL 受控執行個體 的一項功能,提供資料庫內的機器學習,支援 Python 與 R 腳本。 此功能包含 Microsoft Python 與 R 套件,用於高效能預測分析與機器學習。 關聯式資料可透過儲存程序、包含 Python 或 R 語句的 T-SQL 腳本,或包含 T-SQL 的 Python 或 R 程式碼使用。

Important

機器學習 Services 僅在以 SQL Server 2022 更新政策配置的 SQL 管理實例上提供。 它無法在 SQL Server 2025 或 Always-up-to-date 更新政策中取得。 SQL Server 2022 的更新政策將持續使用,直到 SQL Server 2022 的主流支援結束為止。 此時,實例會自動切換到最新主要 SQL Server 版本的更新政策,機器學習 Services 將無法使用。 若要從這些實例呼叫外部託管的機器學習模型,請考慮使用 sp_invoke_external_rest_endpoint。

什麼是機器學習服務?

Azure SQL 管理實例中的機器學習服務讓你能在資料庫中執行 Python 和 R 腳本。 您可以使用此服務來準備和清除資料、進行特徵工程,然後在資料庫內訓練、評估,以及部署機器學習模型。 此功能可讓您在資料所在的位置執行指令碼,而無須透過網路將資料傳輸至另一部伺服器。

在 Azure SQL 管理實例中使用 機器學習 Services 並支援 R/Python,以:

  • 執行 R 和 Python 腳本來做資料準備和一般資料處理 ——你現在可以把 R/Python 腳本帶到 Azure SQL 管理實例,讓資料存放在那裡,而不用再把資料移到其他伺服器執行 R 和 Python 腳本。 您可以消除資料流動及與延遲、安全性和合規性相關的問題。

  • 在資料庫中訓練機器學習模型 ——你可以用任何開源演算法來訓練模型。 你可以輕鬆地將訓練擴展到整個資料集,而不用依賴從資料庫中抽取的樣本資料集。

  • 將您的模型與腳本部署到生產環境中的儲存程序 ——腳本與訓練模型可透過嵌入 T-SQL 儲存程序來操作化。 連接 Azure SQL 管理實例的應用程式,只要呼叫儲存程序,就能從這些模型中的預測與智慧中受益。 你也可以使用原生的 T-SQL PREDICT 函數,將模型操作化,以便在高度同時進行的即時計分情境下快速計分。

機器學習服務包含了 Python 和 R 的基本發行版。 你可以安裝並使用開源套件與框架,如 PyTorch、TensorFlow 和 scikit-learn,此外還有 Microsoft 的 Python 套件 revoscalepy 和 microsoftml,以及 R 的 RevoScaleR、MicrosoftML、olapR 和 sqlrutils。

如何啟用機器學習服務

在設定為 SQL Server 2022 更新原則的 SQL 受控執行個體上,藉由使用下列 SQL 命令啟用擴充功能,以啟用機器學習服務(SQL 受控執行個體會重新啟動,且在幾秒鐘內無法使用):

sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;

關於此指令如何影響 SQL 管理實例資源的詳細資訊,請參見 資源治理。

在故障轉移群組中啟用機器學習服務

在 故障轉移群組中,系統資料庫不會複製到次要實例(詳見 故障轉移群組的限制 )。

如果你使用的 SQL 管理實例屬於故障轉移群組,請執行以下操作:

  • 在每個故障轉移群組實例上執行 sp_configure and RECONFIGURE 指令以啟用機器學習服務。

  • 把 R/Python 函式庫安裝在使用者資料庫上,而不是資料庫本身 master 。

後續步驟