取得 Python 資訊

適用於: SQL Server 2016 (13.x) 和更新版本Azure SQL 受控執行個體

此文章描述如何取得在 SQL Server 上的機器學習服務 (部分機器翻譯) 與 SQL Server 2019 巨量資料叢集 (部分機器翻譯) 上所安裝之 R 套件的相關資訊。 範例 R 指令碼會示範如何列出套件資訊,例如安裝路徑與版本。

本文描述如何取得 SQL Server 機器學習服務上所安裝 R 套件的資訊。 範例 R 指令碼會示範如何列出套件資訊,例如安裝路徑與版本。

本文描述如何取得 Azure SQL 受控執行個體機器學習服務上所安裝 R 套件的資訊。 範例 R 指令碼會示範如何列出套件資訊,例如安裝路徑與版本。

注意

功能和安裝選項會因 SQL Server 的版本而異。 使用版本選取器下拉式清單來選擇適當的 SQL Server 版本。

預設 R 程式庫位置

搭配 SQL Server 安裝機器學習時,會針對您安裝的每個語言在執行個體層次建立單一套件程式庫。 在 Windows 上,執行個體程式庫是一個向 SQL Server 註冊的受保護資料夾。

所有在 SQL Server 上資料庫內執行的指令碼都必須從執行個體程式庫載入函式。 SQL Server 無法存取安裝至其他程式庫的套件。 這也適用於遠端用戶端:任何在伺服器計算內容中執行的 R 指令碼都只能使用安裝在執行個體程式庫中的套件。 為了保護伺服器資產,只有電腦系統管理員才能修改預設執行個體程式庫。

R 的二進位檔預設路徑是:

C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\library

這會假設預設 SQL 執行個體 MSSQLSERVER。 如果將 SQL Server 安裝成使用者定義的具名執行個體,則會改用指定的名稱。

R 的二進位檔預設路徑是:

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\library

這會假設預設 SQL 執行個體 MSSQLSERVER。 如果將 SQL Server 安裝成使用者定義的具名執行個體,則會改用指定的名稱。

R 的二進位檔預設路徑是:

C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\R_SERVICES\library

這會假設預設 SQL 執行個體 MSSQLSERVER。 如果將 SQL Server 安裝成使用者定義的具名執行個體,則會改用指定的名稱。

執行下列陳述式來確認目前執行個體的預設 R 套件程式庫:

EXECUTE sp_execute_external_script  
  @language = N'R',
  @script = N'OutputDataSet <- data.frame(.libPaths());'
WITH RESULT SETS (([DefaultLibraryName] VARCHAR(MAX) NOT NULL));
GO

預設 Microsoft R 套件

以下是與 SQL Server R Services 一起安裝的 Microsoft R 套件。

Packages 版本 描述
RevoScaleR 8.0.3 用於遠端計算內容、串流、平行執行 rx 函式以進行資料匯入與轉換、模型化、視覺化,以及分析。
sqlrutils 1.0.0 用於將 R 指令碼包含在預存程序中。

預設 Microsoft R 套件

以下是您在安裝期間選取 R 功能時,與 SQL Server 機器學習服務一起安裝的 Microsoft R 套件。

Packages 版本 描述
RevoScaleR 9.2 用於遠端計算內容、串流、平行執行 rx 函式以進行資料匯入與轉換、模型化、視覺化,以及分析。
sqlrutils 1.0.0 用於將 R 指令碼包含在預存程序中。
MicrosoftML 1.4.0 在 R 中新增機器學習演算法。
olapR 1.0.0 用於在 R 中撰寫 MDX 陳述式。

預設 Microsoft R 套件

以下是您在安裝期間選取 R 功能時,與 SQL Server 機器學習服務一起安裝的 Microsoft R 套件。

Packages 版本 描述
RevoScaleR 9.4.7 用於遠端計算內容、串流、平行執行 rx 函式以進行資料匯入與轉換、模型化、視覺化,以及分析。
sqlrutils 1.0.0 用於將 R 指令碼包含在預存程序中。
MicrosoftML 9.4.7 在 R 中新增機器學習演算法。
olapR 1.0.0 用於在 R 中撰寫 MDX 陳述式。

元件升級

預設會透過 Service Pack 和累積更新重新整理 R 套件。 額外套件與核心 R 元件的完整版本升級只有透過產品升級才可能實現。

此外,您也可以透過元件升級將 MicrosoftML 和 olapR 套件新增至 SQL Server 執行個體。

預設的開放原始碼 R 套件

R 支援包括開放原始碼 R,因此您可以呼叫基底 R 函式及安裝額外的開放原始碼和協力廠商套件。 R 語言支援包括「基底」、「統計資料」、「公用程式」等核心功能。 R 的基礎安裝也包括眾多範例資料集和標準 R 工具,例如 RGui (輕量型互動式編輯器) 和 RTerm (R 命令提示字元)。

如需每個 SQL Server 版本隨附的 R 版本相關資訊,請參閱 Python 和 R 版本

重要

您一律不應手動以 Web 上較新的版本覆寫 SQL Server 安裝程式所安裝的 R 版本。 Microsoft R 套件以特定 R 版本為基礎。修改安裝可能使其變得不穩定。

列出所有已安裝的 R 套件

下列範例使用 Transact-SQL 預存程序中的 R 函式 installed.packages(),來顯示已在目前 SQL 執行個體的 R_SERVICES 程式庫中安裝的 R 套件清單。 此指令碼會傳回 DESCRIPTION 檔案中的套件名稱和版本欄位。

EXECUTE sp_execute_external_script
  @language=N'R',
@script = N'str(OutputDataSet);
packagematrix <- installed.packages();
Name <- packagematrix[,1];
Version <- packagematrix[,3];
OutputDataSet <- data.frame(Name, Version);',
@input_data_1 = N'
  '
WITH RESULT SETS ((PackageName nvarchar(250), PackageVersion nvarchar(max) ))

如需有關 R 套件 DESCRIPTION 欄位中選擇性欄位與預設欄位的詳細資訊,請參閱 https://cran.r-project.org \(英文\)。

尋找單一 R 套件

如果您已安裝 R 套件並想確定特定 SQL Server 執行個體能夠使用它,您可以執行預存程序來載入套件並傳回訊息。

例如,下列陳述式會尋找並載入 glue 套件 (如果可供使用)。 如果找不到或無法載入套件,您會收到錯誤。

EXECUTE sp_execute_external_script  
  @language =N'R',
  @script=N'
require("glue")
'

若要查看有關此套件的詳細資訊,請檢視 packageDescription。 下列陳述式會傳回 MicrosoftML 套件的資訊。

EXECUTE sp_execute_external_script
  @language = N'R',
  @script = N'
print(packageDescription("MicrosoftML"))
'

後續步驟