共用方式為


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

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

本文說明如何變更 SQL Server 2016 R ServicesSQL Server Machine Learning Services 中使用的 R 或 Python 的預設版本。

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

SQL Server 版本 服務 累計更新 R 執行階段版本 Python 執行階段版本
SQL Server 2016 (13.x) R 服務 RTM - SP2 CU13 3.2.2 尚未提供
SQL Server 2016 (13.x) R 服務 SP2 CU14 和更新版本 3.2.2 和 3.5.2 尚未提供
SQL Server 2017 (14.x) 機器學習服務 RTM - CU21 3.3.3 3.5.2
SQL Server 2017 (14.x) 機器學習服務 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 Server 執行個體中可能有多個版本的 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 Server 執行個體都會使用其中一個版本作為 R 的預設版本。您可以使用命令列公用程式來 RegisterRext.exe 變更預設版本。 公用程式位於每個 SQL Server 執行個體的 R 資料夾下:

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

注意

本文所述的功能僅在 SQL CUs 中包含的 RegisterRext.exe 副本中可用。 請勿使用原始 SQL Server 安裝隨附的複本。

若要變更 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 (14.x) CU22 或更新版本,則 SQL Server 執行個體中可能有多個版本的 Python。 每個版本都包含在實例資料夾的子資料夾中,名稱PYTHON_SERVICES.<為主要>.<次要>(原始安裝中的資料夾名稱可能沒有附加版本號碼)。

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

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

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

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

注意

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

若要變更 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 鍵。 或者,您也可以在 /y 選項中傳入 /Yes/cleanup,以略過此提示。

注意

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