變更預設的 R 或 Python 語言執行階段版本

適用於: SQL Server 2016 (13.x) SQL Server 2017 (14.x)

本文說明如何變更 SQL Server 2016 R ServicesSQL Server 2017 機器學習服務中使用的 R 或 Python 預設版本。

以下列出不同 SQL Server 版本所包含的 R 和 Python 執行階段版本。

SQL Server 版本 服務 累計更新 R 執行階段版本 Python 執行階段版本
SQL Server 2016 R 服務 RTM - SP2 CU13 3.2.2 尚未提供
SQL Server 2016 R 服務 SP2 CU14 和更新版本 3.2.2 和 3.5.2 尚未提供
SQL Server 2017 機器學習服務 RTM - CU21 3.3.3 3.5.2
SQL Server 2017 機器學習服務 CU22 和更新版本 3.3.3 和 3.5.2 3.5.2 和 3.7.2

先決條件

您必須安裝累積更新 (CU) 以變更預設的 R 或 Python 語言執行階段版本:

  • SQL Server 2016: Services Pack (SP) 2 累積更新 (CU) 14 或更新版本
  • SQL Server 2017: 累積更新 (CU) 22 或更新版本

若要下載最新的累積更新,請參閱適用於 Microsoft SQL Server 的最新更新

注意

如果您匯集了具有 SQL Server 新安裝的累積更新,將只會安裝最新版本的 R 和 Python 執行階段。

變更 R 執行階段版本

如果您已安裝 SQL Server 2016 或 2017 的上述其中一個累積更新,您的 SQL 執行個體中可能會有多個 R 版本。 每個版本分別包含在執行個體資料夾的子資料夾中,名稱為 R_SERVICES.<major> . <minor> (原始安裝的資料夾可能不會將版本號碼附加至資料夾名稱)。

如果您安裝了包含 R 3.5 的 CU,新的 R_SERVICES 資料夾將是:

  • SQL Server 2016:C:\Program Files\Microsoft SQL Server\MSSQL13.<INSTANCE_NAME>\R_SERVICES.3.5
  • SQL Server 2017:C:\Program Files\Microsoft SQL Server\MSSQL14.<INSTANCE_NAME>\R_SERVICES.3.5

每個 SQL 執行個體都會使用其中一個版本作為 R 的預設版本。您可以使用 RegisterRext.exe 命令列公用程式來變更預設版本。 公用程式位於每個 SQL 執行個體的 R 資料夾底下:

<SQL 執行個體路徑> \R_SERVICES.n.n\library\RevoScaleR\rxLibs\x64\RegisterRext.exe

注意

本文說明的功能僅適用於 SQL CU 中包含的 RegisterRext.exe 複本。 請勿使用原始 SQL 安裝隨附的複本。

若要變更 R 執行階段版本,請將下列命令列引數傳遞至 RegisterRext.exe

  • /configure - 必要,指定您要設定預設的 R 版本。

  • /instance:<執行個體名稱> - (選擇性) 您要設定的執行個體。 若未指定,則會設定預設執行個體。

  • /rhome:<R_SERVICES[n.n] 資料夾的路徑> - 選擇性,您要設定為預設 R 版本的執行階段版本資料夾的路徑。

    如果您未指定 /rhome,則設定的路徑將是 RegisterRext.exe 所在的路徑。

範例

以下範例說明如何變更 SQL Server 2016 和 2017 中的 R 執行階段版本。

變更 SQL Server 2016 中的 R 執行階段版本

例如,若要將 R 3.5 設定為 SQL Server 2016 上的執行個體 MSSQLSERVER01 的 R 預設版本:

cd "C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER01\R_SERVICES.3.5\library\RevoScaleR\rxLibs\x64"

.\RegisterRext.exe /configure /rhome:"C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER01\R_SERVICES.3.5" /instance:MSSQLSERVER01

變更 SQL Server 2017 中的 R 執行階段版本

例如,若要將 R 3.5 設定為 SQL Server 2017 上的執行個體 MSSQLSERVER01 的 R 預設版本:

cd "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\R_SERVICES.3.5\library\RevoScaleR\rxLibs\x64"

.\RegisterRext.exe /configure /rhome:"C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\R_SERVICES.3.5" /instance:MSSQLSERVER01

在這些範例中,您無須包含 /rhome 引數,因為您指定了 RegisterRext.exe 所在的相同資料夾。

變更 Python 執行階段版本

如果您已安裝 SQL Server 2017 的 CU22 或更新版本,您的 SQL 執行個體中可能會有多個 Python 版本。 每個版本分別包含在執行個體資料夾的子資料夾中,名稱為 PYTHON_SERVICES.<major> . <minor> (原始安裝的資料夾可能不會將版本號碼附加至資料夾名稱)。

例如,如果您安裝了包含 Python 3.7 的 CU,則會建立新的 PYTHON_SERVICES 資料夾:

C:\Program Files\Microsoft SQL Server\MSSQL14.<INSTANCE_NAME>\PYTHON_SERVICES.3.7

每個 SQL 執行個體都會使用其中一個版本作為 Python 的預設版本。 您可以使用 RegisterRext.exe 命令列公用程式來變更預設版本。 公用程式位於每個 SQL 執行個體的 Python 資料夾底下:

<SQL 執行個體路徑>\PYTHON_SERVICES.n.n\Lib\site-packages\revoscalepy\rxLibs\RegisterRExt.exe

注意

本文說明的功能僅適用於 SQL CU 中包含的 RegisterRExt.exe 複本。 請勿使用原始 SQL 安裝隨附的複本。

若要變更 Python 執行階段版本,請將下列命令列引數傳遞至 RegisterRext.exe

  • /configure - 必要,指定您要設定預設的 Python 版本。

  • /python - 指定您要設定預設的 Python 版本。 如果您指定 /pythonhome,則為選擇性。

  • /instance:<執行個體名稱> - (選擇性) 您要設定的執行個體。 若未指定,則會設定預設執行個體。

  • /pythonhome:<PYTHON_SERVICES[n.n] 資料夾的路徑> - 選擇性,您要設定為預設 Python 版本的執行階段版本資料夾的路徑。

    如果您未指定 /pythonhome,則設定的路徑將是 RegisterRExt.exe 所在的路徑。

範例

例如,若要將 Python 3.7 設定為 SQL Server 2017 上的執行個體 MSSQLSERVER01 的 Python 預設版本:

cd "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\PYTHON_SERVICES.3.7\Lib\site-packages\revoscalepy\rxLibs"

.\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES.3.7" /instance:MSSQLSERVER01

在此範例中,您無須包含 /pythonhome 引數,因為您指定了 RegisterRext.exe 所在的相同資料夾。

移除執行階段版本

若要移除 R 或 Python 版本,請使用 RegisterRext.exe 搭配 /cleanup 命令列引數 (請使用前述的相同 /rhome/pythonhome/instance 引數)。

例如,若要從執行個體 MSSQLSERVER01 中移除 R 3.2 資料夾:

.\RegisterRext.exe /cleanup /rhome:"C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER01\R_SERVICES" /instance:MSSQLSERVER01

例如,若要從執行個體 MSSQLSERVER01 中移除 Python 3.7 資料夾:

.\RegisterRExt.exe /cleanup /python /pythonhome:"C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\PYTHON_SERVICES.3.7" /instance:MSSQLSERVER01

RegisterRext.exe 會要求您確認是否要清除指定的 R 執行階段:

您確定要永久刪除指定的執行階段及其上安裝的所有套件嗎? [是(Y)/否(N)/預設值(是)]:

若要確認,請回答 Y,或按 Enter 鍵。 或者,您也可以在 /cleanup 選項中傳入 /y/Yes,以略過此提示。

注意

只有在版本未設定為預設值,且目前並未用來執行 RegisterRext.exe 時,您才能移除該版本。

後續步驟