將服務應用程式升級到 SharePoint Server 2016

 

**適用版本:**SharePoint Server 2016

**上次修改主題的時間:**2017-07-27

**摘要:**升級服務應用程式 (Business Connectivity Services、Managed Metadata、Secure Store 和 Search) 至 SharePoint Server 2016。

當您從 SharePoint Server 2013 Service Pack 1 (SP1)升級至 SharePoint Server 2016 時,必須使用資料庫附加升級,這表示您僅會升級環境的內容,而不是組態設定。設定 SharePoint Server 2016 環境,以及複製內容及服務應用程式資料庫之後,可以將服務應用程式升級至 SharePoint Server 2016。本文包含升級服務應用程式所需採取的步驟。

升級程序階段 3:升級服務應用程式

升級程序階段 3:升級服務應用程式

123 steps

此為將 SharePoint Server 2013 Service Pack 1 (SP1)資料及網站升級至 SharePoint Server 2016 之程序中的第三階段。程序中包含下列必須依序完成的階段:

  1. 建立資料庫附加升級的 SharePoint Server 2016 伺服器陣列

  2. 將資料庫複製到新伺服器陣列以升級到 SharePoint Server 2016

  3. 將服務應用程式升級到 SharePoint Server 2016 (這個階段)

  4. 將內容資料庫升級到 SharePoint Server 2016

如需完整程序的概觀,請參閱<SharePoint Server 2016 升級程序概觀>。

開始之前

升級服務應用程式之前,請先檢閱下列資訊,並採取建議的動作。

  • 請確認您用來執行本文步驟的帳戶是管理中心的伺服器陣列管理員群組成員。

  • 決定已升級之服務應用程式要使用的服務應用程式集區。下列程序會使用預設的服務應用程式之應用程式集區,也就是「SharePoint Web Services 預設」。您可以在 PowerShell 中使用 Get-SPServiceApplicationPool Cmdlet 檢視可用的服務應用程式集區清單,或者您也可以使用 New-SPServiceApplicationPool Cmdlet 建立服務應用程式集區。如需詳細資訊,請參閱<Get-SPServiceApplicationPool>及<New-SPServiceApplicationPool>。

提示

本文會在 PowerShell Cmdlet 中使用變數 (例如 $applicationPool、$sss、$upa 等等) 以節省時間和精力。若您不想使用這些變數,則不一定要使用。不過,若您不使用這些變數,必須在指定 identity 參數時,使用服務應用程式及服務應用程式 Proxy 的識別碼。每個程序皆含有所使用的變數資訊,或用於查詢所有必要識別碼的替代 Cmdlet。
此外,本文中許多程序還包含設定 $applicationPool 變數的步驟。若您要在 PowerShell 的相同工作階段中執行所有這些程序,且您想要為所有服務應用程式使用相同的應用程式集區,不需要在每個程序中重複此步驟。您可以在一開始設定此變數一次,然後將其用於本文的各個程序中。

注意

任何其 SharePoint 2013 結構描述中的 SPWebURL Managed 屬性應會先重新命名,然後再啟動程序 (也就是從 SPWebURL 改為 SPWebURL1)。當您升級為 SharePoint Server 2016 後,可將 SPWebURL1 Managed 屬性名稱改回原本的名稱 (也就是 SPWebURL)。

關於升級服務應用程式資料庫

若要升級服務應用程式資料庫,您必須建立新服務應用程式並提供現有資料庫的名稱,才能使用新的服務應用程式。建立服務應用程式,就能升級資料庫。此程序有幾個步驟。

注意

無法升級 Word Automation Services 和 Machine Translation Service。將需要建立新的服務執行個體。

重要

下列步驟僅適用於自訂伺服器角色類型。如需有關伺服器角色類型的詳細資訊,請參閱<在 SharePoint Server 2016 MinRole server 部署規劃>。

  1. 啟動服務執行個體

    第一步是啟動五個可升級服務應用程式的服務執行個體:Business Data Connectivity Service、Managed Metadata Web Service、PerformancePoint Services 服務、Secure Store 服 與 Search Service。這些服務執行個體大多可從 管理中心 啟動。但是 SharePoint Server Search 服務執行個體必須使用 PowerShell 啟動。

  2. 建立服務應用程式並升級資料庫

    啟動服務執行個體後,下一個步驟就是建立服務應用程式並升級資料庫。您必須使用 PowerShell 來還原服務應用程式資料庫。

  3. 建立服務應用程式的 Proxy

    升級服務應用程式資料庫後,您要建立服務應用程式的 Proxy,並將其加入預設 Proxy 群組。您必須建立下列服務應用程式的 Proxy:

    • Managed Metadata Service 應用程式

    • Search Service 應用程式

    • Secure Store 服務應用程式

    • PerformancePoint Services 服務應用程式

    Business Data Connectivity Service 應用程式會在您建立服務應用程式時自動建立 Proxy,並將其指派到預設的 Proxy 群組。

  4. 確認 Proxy 在預設群組中

下節提供完成這些步驟的程序。

啟動服務執行個體

下列程序會啟動服務執行個體。

從 管理中心 啟動服務應用程式執行個體

  1. 啟動 SharePoint 2016 管理中心。

    • 若為 Windows Server 2012 R2:

      • 在 [開始] 畫面上,按一下 [SharePoint 2016 管理中心]。

        如果 [SharePoint 2016 管理中心] 不在 [開始] 畫面上:

      • 以滑鼠右鍵依序按一下 [電腦]、[所有應用程式] 與 [SharePoint 2016 管理中心]

    如需如何與 Windows Server 2012 R2 互動的詳細資訊,請參閱<Windows Server 2012 的常見管理工作及瀏覽方式>。

  2. 在 SharePoint 2016 管理中心的 [應用程式管理]頁面中,按一下 [服務應用程式] 區段內的 [管理伺服器上的服務]。

  3. 按一下 [Business Data Connectivity Service] 旁的 [開始] 。

  4. 按一下 [Managed Metadata Web Service] 旁的 [開始]。

  5. 按一下 [PerformancePoint Services 服務] 旁的 [開始]。

  6. 按一下 [Secure Store 服務] 旁的 [開始]。

Search Service 執行個體必須透過 PowerShell 啟動,因為您無法從管理中心啟動,除非 Search Service 應用程式已存在。

使用 PowerShell 啟動 Search Service 執行個體。

  1. 確認您具備下列成員資格:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

    • 正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。

    系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server 2016 Cmdlet 的權限。

    注意

    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱<Add-SPShellAdmin>。

  2. 啟動 SharePoint 2016 管理命令介面。

    • 若為 Windows Server 2012 R2:

      • 在 [開始] 畫面上,按一下 [SharePoint 2016 管理命令介面]。

        如果 [SharePoint 2016 管理命令介面] 不在 [開始] 畫面上:

      • 以滑鼠右鍵依序按一下 [電腦]、[所有應用程式] 與 [SharePoint 2016 管理命令介面]

    如需如何與 Windows Server 2012 R2 互動的詳細資訊,請參閱<Windows Server 2012 的常見管理工作及瀏覽方式>。

  3. 若要啟動 Search Service 執行個體,請在 Microsoft PowerShell 命令提示字元處輸入下列命令,並在每個命令結尾按下 ENTER

    $SearchInst = Get-SPEnterpriseSearchServiceInstance
    # Stores the identity for the Search service instance on this server as a variable 
    
    Start-SPServiceInstance $SearchInst
    # Starts the service instance
    

如需詳細資訊,請參閱<Get-SPEnterpriseSearchServiceInstance>和<Start-SPServiceInstance>。

升級 Secure Store 服務應用程式。

若要升級 Secure Store 服務應用程式,您可建立新的服務應用程式並升級資料庫、建立 Proxy 並將其加到預設 Proxy 群組,然後還原舊環境的複雜密碼。

使用 PowerShell 升級 Secure Store 服務應用程式

  1. 確認您具備下列成員資格:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

    • 正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。

    系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server 2016 Cmdlet 的權限。

    注意

    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱<Add-SPShellAdmin>。

  2. 啟動 SharePoint 2016 管理命令介面。

    • 若為 Windows Server 2012 R2:

      • 在 [開始] 畫面上,按一下 [SharePoint 2016 管理命令介面]。

        如果 [SharePoint 2016 管理命令介面] 不在 [開始] 畫面上:

      • 以滑鼠右鍵依序按一下 [電腦]、[所有應用程式] 與 [SharePoint 2016 管理命令介面]

    如需如何與 Windows Server 2012 R2Windows Server 2012 互動的詳細資訊,請參閱<Windows Server 2012 的常見管理工作及瀏覽方式>。

  3. 若要將您想使用的應用程式集區儲存為此服務應用程式的變數,請在 Microsoft PowerShell 命令提示字元處輸入下列命令:

    $applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
    

    其中:

    • SharePoint Web Services 預設 是將包含新服務應用程式的服務應用程式集區名稱。此為預設的服務應用程式集區。您可以指定其他服務應用程式集區。

    此 Cmdlet 將服務應用程式集區設為變數,以便接下來的 Cmdlet 再次使用。若您有多個應用程式集區,且必須為特定的服務應用程式使用不同的應用程式集區,可在程序中重複此步驟,以建立每個服務應用程式使用適當的應用程式集區。

  4. 若要升級 Secure Store 服務應用程式,請在 Microsoft PowerShell 命令提示字元處,輸入下列命令:

    $sss = New-SPSecureStoreServiceApplication -Name 'Secure Store' -ApplicationPool $applicationPool -DatabaseName 'SecureStore_Upgrade_DB' -AuditingEnabled
    

    其中:

    • SecureStore 是您要給新 Secure Store 服務應用程式的名稱。

    • $applicationpool 是您早先設定的變數,以識別要使用的服務應用程式集區。

      提示

      如果您不使用變數 $applicationPool,則必須以「Application Pool Name」格式指定現有服務應用程式集區的名稱。若要檢視服務應用程式集區清單,您可以執行 Get-SPServiceApplicationPool Cmdlet。

    • SecureStore_Upgrade_DB 是您要升級的服務應用程式資料庫名稱。

    此命令會設定變數 $sss,您在稍後建立 Proxy 時會使用得到。

    如需詳細資訊,請參閱<New-SPSecureStoreApplication>。

  5. 輸入下列命令,建立 Secure Store 服務應用程式的 Proxy:

    $sssp = New-SPSecureStoreServiceApplicationProxy -Name ProxyName -ServiceApplication $sss -DefaultProxyGroup
    

    其中:

    • Proxy 名稱 是要使用的 Proxy 名稱。

    • $sss 是您早先設定的變數,以識別新的 Secure Store 服務應用程式。

      提示

      如果您不使用變數 $sss,則必須以識別碼代替名稱來識別 Secure Store Service 應用程式。若要找到識別碼,可執行 Get-SPServiceApplication Cmdlet 傳回所有服務應用程式識別碼清單。

    • DefaultProxyGroup 將 Secure Store 服務應用程式 Proxy 加入本機伺服器陣列的預設 Proxy 群組。

    此命令會針對您還原複雜密碼時使用的服務應用程式 Proxy 設定變數 $sssp。

    如需詳細資訊,請參閱<New-SPSecureStoreServiceApplicationProxy>。

    建立 Secure Store 服務應用程式和 Proxy 後,您必須重新整理加密金鑰。如需如何重新整理加密金鑰的資訊,請參閱<重新整理加密金鑰>。

  6. 輸入下列命令,還原 Secure Store 服務應用程式的複雜密碼:

    Update-SPSecureStoreApplicationServerKey -Passphrase <Passphrase> -ServiceApplicationProxy $sssp
    

    其中:

    • <Passphrase> 是舊環境中 Secure Store 服務應用程式的「複雜密碼」。

    • $sssp 是您早先設定的變數,以識別新的 Secure Store Service 應用程式 Proxy。

      提示

      如果您不使用變數 $sssp,則必須以識別碼代替名稱來識別 Secure Store Service 應用程式 Proxy。若要找到識別碼,可執行 Get-SPServiceApplicationProxy Cmdlet 傳回所有服務應用程式 Proxy 識別碼清單。

    如需詳細資訊,請參閱<Update-SPSecureStoreApplicationServerKey>。

升級 Business Data Connectivity Service 應用程式

若要升級 Business Data Connectivity Service 應用程式,您必須建立新的服務應用程式並升級資料庫。您不一定要建立 Business Data Connectivity Service 應用程式的 Proxy。Business Data Connectivity Service 應用程式會在您建立服務應用程式時自動建立 Proxy,並將其指派到預設的 Proxy 群組。

使用 PowerShell 升級 Business Data Connectivity Service 應用程式

  1. 確認您具備下列成員資格:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

    • 正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。

    系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server 2016 Cmdlet 的權限。

    注意

    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin

  2. 啟動 SharePoint 2016 管理命令介面。

    • 若為 Windows Server 2012 R2:

      • 在 [開始] 畫面上,按一下 [SharePoint 2016 管理命令介面]。

        如果 [SharePoint 2016 管理命令介面] 不在 [開始] 畫面上:

      • 以滑鼠右鍵依序按一下 [電腦]、[所有應用程式] 與 [SharePoint 2016 管理命令介面]

    如需如何與 Windows Server 2012 R2 互動的詳細資訊,請參閱<Windows Server 2012 的常見管理工作及瀏覽方式>。

  3. 若要將您想使用的應用程式集區儲存為此服務應用程式的變數,請在 Microsoft PowerShell 命令提示字元處輸入下列命令:

    $applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
    

    其中:

    • SharePoint Web Services 預設 是將包含新服務應用程式的服務應用程式集區名稱。

    此 Cmdlet 將服務應用程式集區設為變數,以便接下來的 Cmdlet 再次使用。若您有多個應用程式集區,且必須為特定的服務應用程式使用不同的應用程式集區,可在程序中重複此步驟,以建立每個服務應用程式使用適當的應用程式集區。

  4. 若要升級 Business Data Connectivity Service 應用程式,請在 Microsoft PowerShell 命令提示字元處,輸入下列命令:

    New-SPBusinessDataCatalogServiceApplication -Name 'BDC Service' -ApplicationPool $applicationPool -DatabaseName 'BDC_Service_DB'
    

    其中:

    • BDC Service 是您要給新 Business Data Connectivity Service 應用程式的名稱。

    • $applicationpool 是您早先設定的變數,以識別要使用的服務應用程式集區。

      提示

      如果您不使用變數 $applicationPool,則必須以「Application Pool Name」格式指定現有服務應用程式集區的名稱。若要檢視服務應用程式集區清單,您可以執行 Get-SPServiceApplicationPool Cmdlet。

    • BDC_Service_DB 是您要升級的服務應用程式資料庫名稱。

    如需詳細資訊,請參閱<New-SPBusinessDataCatalogServiceApplication>。

升級 Managed Metadata Service 應用程式

若要升級 Managed Metadata Service 應用程式,您必須建立新的服務應用程式並升級資料庫,然後建立 Proxy 並將其加入預設的 Proxy 群組。

使用 PowerShell 升級 Managed Metadata Service 應用程式

  1. 確認您具備下列成員資格:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

    • 正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。

    系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server 2016 Cmdlet 的權限。

    注意

    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin

  2. 啟動 SharePoint 2016 管理命令介面。

    • 若為 Windows Server 2012 R2:

      • 在 [開始] 畫面上,按一下 [SharePoint 2016 管理命令介面]。

        如果 [SharePoint 2016 管理命令介面] 不在 [開始] 畫面上:

      • 以滑鼠右鍵依序按一下 [電腦]、[所有應用程式] 與 [SharePoint 2016 管理命令介面]

    如需如何與 Windows Server 2012 R2 互動的詳細資訊,請參閱<Windows Server 2012 的常見管理工作及瀏覽方式>。

  3. 若要將您想使用的應用程式集區儲存為此服務應用程式的變數,請在 Microsoft PowerShell 命令提示字元處輸入下列命令:

    $applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
    

    其中:

    • SharePoint Web Services 預設 是將包含新服務應用程式的服務應用程式集區名稱。

    此 Cmdlet 將服務應用程式集區設為變數,以便接下來的 Cmdlet 再次使用。若您有多個應用程式集區,且必須為特定的服務應用程式使用不同的應用程式集區,可在程序中重複此步驟,以建立每個服務應用程式使用適當的應用程式集區。

  4. 若要升級 Managed Metadata Service 應用程式,請在 Microsoft PowerShell 命令提示字元處,輸入下列命令:

    $mms = New-SPMetadataServiceApplication -Name 'Managed Metadata Service Application' -ApplicationPool $applicationPool -DatabaseName 'Managed Metadata Service_DB'
    

    其中:

    • Managed Metadata Service Application 是您要給新 Managed Metadata Service 應用程式的名稱。

    • $applicationpool 是您早先設定的變數,以識別要使用的服務應用程式集區。

      提示

      如果您不使用變數 $applicationPool,則必須以「Application Pool Name」格式指定現有服務應用程式集區的名稱。若要檢視服務應用程式集區清單,您可以執行 Get-SPServiceApplicationPool Cmdlet。

    • Managed Metadata Service_DB 是您要升級的服務應用程式資料庫名稱。

    此命令會設定變數 $sss,您在稍後建立 Proxy 時會使用得到。

    如需詳細資訊,請參閱<New-SPMetadataServiceApplication>。

  5. 在 Microsoft PowerShell 命令提示字元處,輸入以下命令,建立 Managed Metadata Service 應用程式的 Proxy:

    New-SPMetadataServiceApplicationProxy -Name ProxyName -ServiceApplication $mms -DefaultProxyGroup
    

    其中:

    • Proxy 名稱 是要使用的 Proxy 名稱。

    • $mms 是您早先設定的變數,以識別新 Managed Metadata Service 應用程式。

      提示

      如果您不使用變數 $mms,則必須以識別碼代替名稱來識別 Managed Metadata Service 應用程式 Proxy。若要找到識別碼,可執行 Get-SPServiceApplication Cmdlet 傳回所有服務應用程式識別碼清單。

    • DefaultProxyGroup 將 Managed Metadata service 服務應用程式 Proxy 加入本機伺服器陣列的預設 Proxy 群組。

    如需詳細資訊,請參閱<New-SPMetadataServiceApplicationProxy>。

升級 PerformancePoint Services 服務應用程式。

若要升級 PerformancePoint Services 服務應用程式,您必須建立新的服務應用程式並升級資料庫,然後建立 Proxy 並將其加入預設的 Proxy 群組。

使用 PowerShell 升級 PerformancePoint Services 服務應用程式

  1. 確認您具備下列成員資格:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

    • 正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。

    系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server 2016 Cmdlet 的權限。

    注意

    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin

  2. 啟動 SharePoint 2016 管理命令介面。

    • 若為 Windows Server 2012 R2:

      • 在 [開始] 畫面上,按一下 [SharePoint 2016 管理命令介面]。

        如果 [SharePoint 2016 管理命令介面] 不在 [開始] 畫面上:

      • 以滑鼠右鍵依序按一下 [電腦]、[所有應用程式] 與 [SharePoint 2016 管理命令介面]

    如需如何與 Windows Server 2012 R2 互動的詳細資訊,請參閱<Windows Server 2012 的常見管理工作及瀏覽方式>。

  3. 若要將您想使用的應用程式集區儲存為此服務應用程式的變數,請在 Microsoft PowerShell 命令提示字元處輸入下列命令:

    $applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
    

    其中:

    • SharePoint Web Services 預設 是將包含新服務應用程式的服務應用程式集區名稱。

    此 Cmdlet 將服務應用程式集區設為變數,以便接下來的 Cmdlet 再次使用。若您有多個應用程式集區,且必須為特定的服務應用程式使用不同的應用程式集區,可在程序中重複此步驟,以建立每個服務應用程式使用適當的應用程式集區。

  4. 若要升級 PerformancePoint Services 服務應用程式,請在 Microsoft PowerShell 命令提示字元處,輸入下列命令:

    $pps = New-SPPerformancePointServiceApplication -Name 'PerformancePoint Service' -ApplicationPool $applicationPool -DatabaseName 'PerformancePoint Service Application_DB'
    

    其中:

    • PerformancePoint Service 是您要給新 PerformancePoint Services 服務應用程式的名稱。

    • $applicationpool 是您早先設定的變數,以識別要使用的服務應用程式集區。

      提示

      如果您不使用變數 $applicationPool,則必須以「Application Pool Name」格式指定現有服務應用程式集區的名稱。若要檢視服務應用程式集區清單,您可以執行 Get-SPServiceApplicationPool Cmdlet。

    • PerformancePoint Service Application_DB 是您要升級的 PerformancePoint Services 服務應用程式資料庫名稱。

    此命令會設定變數 $pps,您在稍後建立 Proxy 時會使用得到。

    如需詳細資訊,請參閱<New-SPProfileServiceApplication>。

  5. 輸入下列命令,建立 PerformancePoint Services 服務應用程式的 Proxy:

    New-SPPerformancePointServiceApplicationProxy -Name ProxyName -ServiceApplication $pps -Default
    

    其中:

    • Proxy 名稱 是要使用的 Proxy 名稱。

    • $pps 是您早先設定的變數,以識別新 PerformancePoint Services 服務應用程式。

      提示

      如果您不使用變數 $pps,則必須以識別碼代替名稱來識別 PerformancePoint Services 服務應用程式。若要找到識別碼,可執行 Get-SPServiceApplication Cmdlet 傳回所有服務應用程式識別碼清單。

    • Default 將 PerformancePoint Services 服務應用程式 Proxy 加入本機伺服器陣列的預設 Proxy 群組。

    如需詳細資訊,請參閱<New-SPPerformancePointServiceApplicationProxy>。

升級 Search Service 應用程式

請先升級 User Profile Service 應用程式和 Managed Metadata Service 應用程式,再升級 Search Service 應用程式。

若要升級 Search Service 應用程式,將 SharePoint Server 2013 Service Pack 1 (SP1) 伺服器陣列中的搜尋管理資料庫複製到 SharePoint Server 2016 伺服器陣列,然後從 SharePoint Server 2016 伺服器陣列中的 SharePoint Server 2013 Service Pack 1 (SP1) 伺服器陣列還原 Search Service 應用程式。還原作業會觸發 SharePoint Server 2016 在 SharePoint Server 2016 伺服器陣列中建立新的 Search Service 應用程式,並將其指向複製的搜尋管理資料庫。若要完成 Search Service 應用程式的升級,您需建立 Proxy 並將其加入預設的 Proxy 群組,然後確定新連結資料庫和新搜尋拓撲的設定與 SharePoint Server 2013 Service Pack 1 (SP1) 伺服器陣列中的設定相同。

當 SharePoint Server 2016 建立新的 Search Service 應用程式時,通常會使用所有搜尋元件與資料庫來建立新的搜尋拓撲在還原 Search Service 應用程式時,SharePoint Server 2016 會建立新的搜尋拓樸,但不是建立新的搜尋管理資料庫,而是升級還原的搜尋管理資料庫。升級的搜尋管理資料庫會保留 SharePoint Server 2013 Service Pack 1 (SP1) 伺服器陣列的搜尋結構描述、結果來源和查詢規則中任何新增項目或修改。

注意

在升級期間,搜尋不會對您 SharePoint Server 2013 Service Pack 1 (SP1) 中的內容進行編目。如果搜尋結果的更新相當重要,您可以在開始升級前先熟悉這些步驟以節省時間。

重要

因為 SharePoint Server 2016 伺服器陣列中的搜尋拓撲是新的,所以索引是空的。當您已升級所有內容來源後 (將 SharePoint Server 2013 Service Pack 1 (SP1) 資料與站台升級至 SharePoint Server 2016 程序中的第四階段),您必須對整個編製索引的主體執行完整編目。

使用 PowerShell 升級 Search Service 應用程式

  1. 若要將 SharePoint Server 2013 Service Pack 1 (SP1) 伺服器陣列中的搜尋管理資料庫複製到 SharePoint Server 2016 伺服器陣列,請遵循下列步驟:

    注意

    在升級到 SharePoint Server 2016 程序的前面步驟中,您已複製 SharePoint Server 2013 Service Pack 1 (SP1) 環境內的所有其他內容和服務資料庫。我們建議您在較後面的階段複製搜尋管理資料庫,因為複製搜尋管理資料庫時,您必須暫停 SharePoint Server 2013 Service Pack 1 (SP1) 環境中的 Search Service 應用程式。

    重要

    在 SharePoint Server 2013 Service Pack 1 (SP1) 環境中執行這些步驟。

    1. 確認您具備下列成員資格:

      • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

      • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

      • 正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。

      系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server 2016 Cmdlet 的權限。

      注意

      如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin

    2. 啟動 SharePoint 管理命令介面。

      • 若為 Windows Server 2012 R2:

        • 在 [開始] 畫面上,按一下 [SharePoint 管理命令介面]。

          如果 [SharePoint 管理命令介面] 不在 [開始] 畫面上:

        • 以滑鼠右鍵依序按一下 [電腦]、[所有應用程式] 與 [SharePoint 管理命令介面]。

      如需如何與 Windows Server 2012 R2 互動的詳細資訊,請參閱<Windows Server 2012 的常見管理工作及瀏覽方式>。

    3. 將搜尋管理資料庫設定為唯讀。將 SharePoint Server 2013 Service Pack 1 (SP1) 資料及站台升級至 SharePoint Server 2016 程序的第二個階段中,您將所有其他資料庫設定為唯讀。現在請依循相同指示設定搜尋管理資料庫。

    4. 暫停執行 Search Service 應用程式。在 Windows PowerShell 命令提示字元處,輸入下列命令:

      $ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName>
      Suspend-SPEnterpriseSearchServiceApplication -Identity $ssa
      

      其中:

      • SearchServiceApplicationName 是您想暫停之 Search Service 應用程式的名稱。

      注意

      Search Service 應用程式暫停時,SharePoint Server 2013 Service Pack 1 (SP1) 環境中的索引不會更新。這表示升級到 SharePoint Server 2016 的期間,搜尋結果可能不是最新的。

    5. 將 SharePoint Server 2013 Service Pack 1 (SP1) 伺服器陣列中的搜尋管理資料庫複製到 SharePoint Server 2016 伺服器陣列,請遵循 將資料庫複製到新伺服器陣列以升級到 SharePoint Server 2016 中的程序 (僅適用於搜尋管理資料庫)。

    重要

    在 SharePoint Server 2016 環境中執行接下來的步驟。

  2. 確認您具備下列成員資格:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

    • 正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。

    系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server 2016 Cmdlet 的權限。

    注意

    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin

  3. 啟動 SharePoint 2016 管理命令介面。

    • 若為 Windows Server 2012 R2:

      • 在 [開始] 畫面上,按一下 [SharePoint 2016 管理命令介面]。

        如果 [SharePoint 2016 管理命令介面] 不在 [開始] 畫面上:

      • 以滑鼠右鍵依序按一下 [電腦]、[所有應用程式] 與 [SharePoint 2016 管理命令介面]

    如需如何與 Windows Server 2012 R2 互動的詳細資訊,請參閱<Windows Server 2012 的常見管理工作及瀏覽方式>。

  4. 若要將您想使用的應用程式集區儲存為此服務應用程式的變數,請在 Microsoft PowerShell 命令提示字元處輸入下列命令:

    $applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
    

    其中:

    • SharePoint Web Services 預設 是將包含新服務應用程式的服務應用程式集區名稱。

    此 Cmdlet 將服務應用程式集區設為變數,以便接下來的 Cmdlet 再次使用。若您有多個應用程式集區,且必須為特定的服務應用程式使用不同的應用程式集區,可在程序中重複此步驟,以建立每個服務應用程式使用適當的應用程式集區。

  5. 若要還原 Search Service 應用程式並升級搜尋管理資料庫,請在 Microsoft PowerShell 命令提示字元中,輸入下列命令:

    $searchInst = Get-SPEnterpriseSearchServiceInstance -local
    # Gets the Search service instance and sets a variable to use in the next command
    
    Restore-SPEnterpriseSearchServiceApplication -Name '<SearchServiceApplicationName>' -applicationpool $applicationPool -databasename '<SearchServiceApplicationDBName>' -databaseserver <ServerName> -AdminSearchServiceInstance $searchInst 
    

    其中:

    • Search Service 應用程式名稱 是 Search Service 應用程式的名稱。

    • $applicationpool 是您設定的變數,以識別要使用的服務應用程式集區。

      提示

      如果您不使用變數 $applicationPool,則必須以「Application Pool Name」格式指定現有服務應用程式集區的名稱。若要檢視服務應用程式集區清單,您可以執行 Get-SPServiceApplicationPool Cmdlet。

    • SearchServiceApplicationDBName 是您要升級之搜尋管理資料庫的名稱,而此 Search Service 應用程式將會使用。

    • $searchInst 是您設定以識別新 Search Service 應用程式執行個體的變數。

    注意

    由於網路或 SQL Server 延遲等狀況,Search Service 應用程式升級可能會失敗。升級期間若出現錯誤訊息,請執行以下操作:

    1. 刪除您嘗試要升級的「搜尋管理」資料庫。

    2. 使用您建立的「搜尋管理」資料庫備份複本,僅針對 Search Service 應用程式,重複執行以下本文所述的程序:

      1. 還原資料庫的備份複本

      2. 將資料庫設為讀寫。

    3. 在 Microsoft PowerShell 命令提示字元處輸入命令,以再次升級 Search Service 應用程式。

    如需詳細資訊,請參閱 Restore-SPEnterpriseSearchServiceApplication

    您必須依照下列各個步驟建立 Search Service 應用程式 Proxy,並將其加入預設 Proxy 群組。您必須完成各個動作才能找到 Search Service 應用程式的識別碼、建立新 Proxy、取得 Proxy 識別碼並將 Proxy 加入預設 Proxy 群組。

  6. 輸入下列命令以取得 Search Service 應用程式的識別碼,並將其儲存為變數:

    $ssa = Get-SPEnterpriseSearchServiceApplication
    

    如需詳細資訊,請參閱<Get-SPEnterpriseSearchServiceApplication>。

  7. 輸入下列命令,建立 Search Service 應用程式的 Proxy:

    New-SPEnterpriseSearchServiceApplicationProxy -Name ProxyName -SearchApplication $ssa 
    

    其中:

    • Proxy 名稱 是要使用的 Proxy 名稱。

    • $sss 是您早先設定的變數,以識別新的 Search Service 應用程式。

      提示

      如果您不使用變數 $ssa,則必須以識別碼代替名稱來識別 Search Service 服務應用程式。若要找到識別碼,可執行 Get-SPServiceApplication Cmdlet 傳回所有服務應用程式識別碼清單。

    如需詳細資訊,請參閱<New-SPEnterpriseSearchServiceApplicationProxy>。

  8. 輸入下列命令,為剛建立的 Proxy 取得 Search Service 應用程式 Proxy 識別碼,並將其設定為變數 $ssap:

    $ssap = Get-SPEnterpriseSearchServiceApplicationProxy 
    

    如需詳細資訊,請參閱<Get-SPEnterpriseSearchServiceApplicationProxy>。

  9. 輸入下列命令,將 Search Service 應用程式 Proxy 加入預設的 Proxy 群組:

    Add-SPServiceApplicationProxyGroupMember -member $ssap -identity " "
    

    其中:

    • $ssap 是您早先設定的變數,用以識別剛建立的 Search Service 應用程式 Proxy 識別碼。

      提示

      如果您不使用變數 $ssap,則必須以識別碼代替名稱來識別 Search Service 服務應用程式 Proxy。若要找到識別碼,可執行 Get-SPServiceApplicationProxy Cmdlet 傳回所有服務應用程式 Proxy 識別碼清單。

    • 您使用空白的 identity 參數 (" ") 將其加入預設群組。

    如需詳細資訊,請參閱<Add-SPServiceApplicationProxyGroupMember>。

  10. 如果 SharePoint Server 2013 Service Pack 1 (SP1) 伺服器陣列使用分割的連結資料庫,請以同樣方式分割 SharePoint Server 2016 伺服器陣列中的連結資料庫。若要了解執行方式,請參閱<Move-SPEnterpriseSearchLinksDatabases>。

  11. (選擇性) 保留 SharePoint Server 2013 Service Pack 1 (SP1) 伺服器陣列的搜尋相關設定。由於升級的 Search Service 應用程式會有新建且空白的索引,SharePoint Server 2013 Service Pack 1 (SP1) 伺服器陣列的搜尋分析資料無法完全保留。複製 SharePoint Server 2013 Service Pack 1 (SP1) 伺服器陣列的分析報表資料庫,並將其附加至 SharePoint Server 2016伺服器陣列中的 Search Service 應用程式:

  12. 確認新 SharePoint Server 2016 伺服器陣列上的搜尋拓撲與 SharePoint Server 2013 Service Pack 1 (SP1) 伺服器陣列上的相似。如果您的搜尋要求已變更,現在正是時候擴充新 SharePoint Server 2016 伺服器陣列的搜尋拓撲。

  13. 恢復 SharePoint Server 2013 Service Pack 1 (SP1) 環境中的 Search Service 應用程式。

    在 Windows PowerShell 命令提示字元處,輸入下列命令:

    $ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName>
    $ssa.ForceResume(0x02)
    

    其中:

    • SearchServiceApplicationName 是您想恢復之 Search Service 應用程式的名稱。

確認所有的新 Proxy 都已在預設 Proxy 群組中

依照下列程序確認建立 Proxy 並加入預設 Proxy 群組的步驟皆可正常運作。

使用 PowerShell 確認所有新的 Proxy 都已在預設 Proxy 群組中

  1. 確認您具備下列成員資格:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

    • 正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。

    系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server 2016 Cmdlet 的權限。

    注意

    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin

  2. 啟動 SharePoint 2016 管理命令介面。

    • 若為 Windows Server 2012 R2:

      • 在 [開始] 畫面上,按一下 [SharePoint 2016 管理命令介面]。

        如果 [SharePoint 2016 管理命令介面] 不在 [開始] 畫面上:

      • 以滑鼠右鍵依序按一下 [電腦]、[所有應用程式] 與 [SharePoint 2016 管理命令介面]

    如需如何與 Windows Server 2012 R2 互動的詳細資訊,請參閱<Windows Server 2012 的常見管理工作及瀏覽方式>。

  3. 在 PowerShell 命令提示字元處,輸入下列命令:

    $pg = Get-SPServiceApplicationProxyGroup -Identity " "
    $pg.Proxies
    

    其中:

    • $pg 是您設定的變數,用來代表預設 Proxy 群組。

    • 您使用空白的 identity 參數 (" ") 指定預設 Proxy 群組。

    這樣會傳回預設 Proxy 群組的所有 Proxy 清單、顯示名稱與識別碼。

如需詳細資訊,請參閱<Get-SPServiceApplicationProxyGroup>。

服務應用程式既已升級,您便可開始執行程序,升級內容資料庫。第一步就是建立各個內容資料庫需要的 Web 應用程式。

123 steps

此為將 SharePoint Server 2013 Service Pack 1 (SP1) 資料及網站升級至 SharePoint Server 2016 之程序中的第三階段。

如需完整程序的概觀,請參閱<SharePoint Server 2016 升級程序概觀>。

See also

建立資料庫附加升級的 SharePoint Server 2016 伺服器陣列
將資料庫複製到新伺服器陣列以升級到 SharePoint Server 2016
將內容資料庫升級到 SharePoint Server 2016
SharePoint Server 2016 的服務升級概觀

資料庫附加升級的檢查清單 (SharePoint 2013)