Share via


將服務應用程式升級到 SharePoint Server 訂閱版本

適用于:no-img-132013 no-img-16 2016no-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

當您從 SharePoint Server 2019 或 SharePoint Server 2016 升級至 SharePoint Server 訂閱版本 時,您必須使用資料庫附加升級,這表示您只會升級環境的內容,而不是組態設定。 設定SharePoint Server 訂閱版本環境並複製內容和服務應用程式資料庫之後,您可以將服務應用程式升級至 SharePoint Server 訂閱版本。 本文包含升級服務應用程式所需採取的步驟。

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

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

階段 描述
123 步驟 這是將 SharePoint Server 2019 和 SharePoint Server 2016 資料和網站升級至SharePoint Server 訂閱版本程式的第三個階段。 程序中包含必須依序完成的下列階段:
建立資料庫連結升級的 SharePoint Server 訂閱版本伺服器陣列
將資料庫複製到新伺服器陣列以升級到 SharePoint Server 訂閱版本
將服務應用程式升級至SharePoint Server 訂閱版本 (此階段)
將內容資料庫升級到 SharePoint Server 訂閱版本

如需整個程式的概觀,請參閱升級至SharePoint Server 訂閱版本程式的概觀

開始之前

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

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

  • 決定要用於升級服務應用程式的服務應用程式集區。 下列程式會針對「SharePoint Web 服務預設」的服務應用程式使用預設應用程式集區。 您可以使用 PowerShell 中的 Get-SPServiceApplicationPool Cmdlet 來檢視可用的服務應用程式集區清單。 或者,您可以使用 New-SPServiceApplicationPool Cmdlet 來建立服務應用程式集區。 如需詳細資訊,請參閱 Get-SPServiceApplicationPoolNew-SPServiceApplicationPool

提示

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

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

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

注意事項

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

重要事項

下列步驟僅適用自訂伺服器角色類型。 如需伺服器角色類型的詳細資訊,請參閱規劃在 SharePoint Server 2016 和 SharePoint Server 2019 中進行 MinRole 伺服器部署

  1. 啟動服務實例。

    第一個步驟是針對您可以升級的四個服務應用程式啟動服務實例:Business Data Connectivity Service、Managed Metadata Web Service、Secure Store 服務和 搜尋服務。 這些服務執行個體大多可從 管理中心 啟動。 但是 SharePoint Server Search 服務執行個體必須使用 PowerShell 啟動。

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

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

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

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

    • Managed Metadata Service 應用程式

    • Search Service 應用程式

    • Secure Store 服務應用程式

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

  4. 確認 Proxy 在預設群組中

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

啟動服務執行個體

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

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

  1. 啟動 SharePoint 2019 管理中心。

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

  3. 按一下 [Business Data Connectivity Service] 旁的 [啟動]

  4. 按一下 [Managed Metadata Web Service] 旁的 [啟動]

  5. 按一下 [Secure Store Service] 旁的 [啟動]

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

提示

使用 MinRole 時,[啟動] 可能無法使用,因為它是由伺服器陣列管理。 建立關聯的服務應用程式之後,就會自動啟動服務執行個體。

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

  1. 確認您具備下列成員身分:

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

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

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

      系統管理員可以使用Add-SPShellAdmin Cmdlet 來授與使用 SharePoint Server 訂閱版本 Cmdlet 的許可權。

      注意事項

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

  2. 啟動 SharePoint 訂閱版本管理命令介面。

  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-SPEnterpriseSearchServiceInstanceStart-SPServiceInstance

升級 Secure Store 服務應用程式。

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

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

  1. 確認您具備下列成員身分:

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

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

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

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

      注意事項

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

  2. 啟動 SharePoint 訂閱版本管理命令介面。

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

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

    其中:

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

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

  4. 若要升級 Secure Store 服務應用程式,請在 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
    

    其中:

    • ProxyName 是要使用的 Proxy 名稱。

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

      提示

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

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

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

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

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

  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 2019 或 SharePoint Server 2016 Cmdlet 的許可權。

      注意事項

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

  2. 啟動 SharePoint 訂閱版本管理命令介面。

  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 2019 或 SharePoint Server 2016 Cmdlet 的許可權。

      注意事項

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

  2. 啟動 SharePoint 訂閱版本管理命令介面。

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

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

    其中:

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

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

  4. 若要升級受控中繼資料服務應用程式,請在 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. 在 PowerShell 命令提示字元處,輸入以下命令以建立 Managed Metadata 服務應用程式的 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>。

升級 User Profile Service Application

在升級 User Profile Service Application 之前,先升級 Managed Metadata Service 應用程式。

若要升級 User Profile Service 應用程式,您可以將 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列中的設定檔和社交資料庫複製到SharePoint Server 訂閱版本伺服器陣列,然後從您的伺服器陣列建立新的 User Profile Service 應用程式SharePoint Server 2019 或您SharePoint Server 訂閱版本伺服器陣列中的 SharePoint Server 2016 伺服器陣列。 還原會觸發SharePoint Server 訂閱版本在SharePoint Server 訂閱版本伺服器陣列中建立新的 User Profile 服務應用程式,並將其指向複製的 User Profile 資料庫。 若要完成 User Profile 服務應用程式的升級,您可以建立 Proxy 並將它新增至預設的 Proxy 群組。

使用 PowerShell 升級 User Profile 服務應用程式

  1. 依照下列步驟,將 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列中的設定檔和社交資料庫複製到 SharePoint Server 訂閱版本 伺服器陣列:

    重要事項

    在 SharePoint Server 2019 和 SharePoint Server 2016 環境中執行這些步驟。

    • 確認您具備下列成員身分:

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

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

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

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

      注意事項

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

    • 啟動 SharePoint 管理命令介面。

    • 將使用者設定檔資料庫設為唯讀。 在將 SharePoint Server 2019 或 SharePoint Server 2016 資料和網站升級至SharePoint Server 訂閱版本程式的第二個階段中,您會將所有其他資料庫設定為唯讀。

    • 將 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列中的設定檔和社交資料庫複製到SharePoint Server 訂閱版本伺服器陣列,依照將資料庫複製到新伺服器陣列中的程式升級至 SharePoint Server 訂閱版本。

      重要事項

      在SharePoint Server 訂閱版本環境中執行後續步驟。

  2. 確認您具備下列成員身分:

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

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

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

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

    注意事項

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

  3. 啟動 SharePoint 訂閱版本管理命令介面。

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

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

    其中:

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

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

  5. 若要還原 User Profile Service Application 並升級設定檔和社交資料庫,請在 Microsoft PowerShell 命令提示字元中,輸入下列命令:

    New-SPProfileServiceApplication -Name '<UserProfileApplicationName>' -ApplicationPool $applicationPool -ProfileDBName '<ProfileDBName>' -SocialDBName '<SocialDBName>' -ProfileSyncDBName '<SyncDBName>'
    

    其中:

    • UserProfileApplicationName 是 User Profile Service Application 的名稱。

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

      注意事項

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

    • ProfileDBName 是要升級的設定檔資料庫名稱。

    • SocialDBName 是要升級的社交資料庫名稱。

    • SyncDBName 是新同步處理資料庫的名稱。

  6. 建立 User Profile Service Application Proxy,並完成這些動作,將它新增至預設的 Proxy 群組:

    • 輸入下列命令以取得 User Profile Service Application 的識別碼,並將其儲存為變數:

      $sa = Get-SPServiceApplication | ?{$_.TypeName -eq 'User Profile Service Application'}
      

      如需詳細資訊,請參閱 Get-SPServiceApplication

    • 輸入下列命令,建立 User Profile Service Application 的 Proxy:

      New-SPProfileServiceApplicationProxy -Name 'User Profile Service Application Proxy' -ServiceApplication $sa
      

      其中:

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

      • $sa 是您稍早設定的變數,以識別新 User Profile Service Application。

        提示

        如果您未使用變數$sa,則必須使用識別碼來識別 User Profile Service 應用程式,而不是名稱。 若要尋找識別碼,您可以執行 Get-SPServiceApplication Cmdlet 來傳回所有服務應用程式識別碼的清單。

      如需詳細資訊,請參閱 New-SPProfileServiceApplicationProxy

    • 輸入下列命令,以取得您剛才建立之 Proxy 的使用者設定檔服務應用程式 Proxy 識別碼,並將其設定為變數$proxy:

      $proxy = Get-SPServiceApplicationProxy | ?{$_.TypeName -eq 'User Profile Service Application Proxy'}
      

      如需詳細資訊,請參閱 Get-SPServiceApplicationProxy

    • 輸入下列命令,將 User Profile Service Application Proxy 新增至預設的 Proxy 群組:

      Add-SPServiceApplicationProxyGroupMember -member $proxy -identity ""
      

      其中:

      • $proxy 是您早先設定的變數,用以識別剛建立的 User Profile Service Application Proxy 識別碼。

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

      • 您使用空白的 Identity 參數 ("") 將其新增至預設群組。

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

升級 Search Service 應用程式

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

若要升級搜尋服務應用程式,請將 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列中的搜尋管理資料庫複製到SharePoint Server 訂閱版本伺服器陣列,並從您的伺服器陣列還原搜尋服務應用程式在SharePoint Server 訂閱版本伺服器陣列中SharePoint Server 2019或 SharePoint Server 2016 伺服器陣列。 還原會觸發SharePoint Server 訂閱版本在 SharePoint Server 訂閱版本 伺服器陣列中建立新的搜尋服務應用程式,並將它指向複製的搜尋管理資料庫。 若要完成搜尋服務應用程式的升級,您可以建立 Proxy 並將其新增至預設 Proxy 群組,並確保新的連結資料庫和新的搜尋拓撲的設定方式與 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列中的設定方式相同。

SharePoint Server 訂閱版本通常會在建立新的搜尋服務應用程式時,使用所有搜尋元件和資料庫建立新的搜尋拓撲。 在還原搜尋服務應用程式期間,SharePoint Server 訂閱版本會建立新的搜尋拓撲,但會升級已還原的搜尋管理資料庫,而不是建立新的搜尋管理資料庫。 升級的搜尋管理資料庫會保留從 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列對搜尋架構、結果來源和查詢規則所做的任何新增或修改。

注意事項

在此升級期間,搜尋不會在您的SharePoint Server 2019或 SharePoint Server 2016 中編目內容。 如果搜尋結果的更新與否相當重要,您可以在開始升級前先熟悉這些步驟以節省時間。

重要事項

由於SharePoint Server 訂閱版本伺服器陣列中的搜尋拓撲是新的,因此索引是空的。 將所有內容來源升級 (程式的第四個階段,將SharePoint Server 2019和 SharePoint Server 2016 資料和網站升級至SharePoint Server 訂閱版本) 之後,您必須執行整個索引主體的完整編目。

使用 PowerShell 升級 Search Service 應用程式

  1. 將 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列中的搜尋管理資料庫複製到 SharePoint Server 訂閱版本 伺服器陣列,並遵循下列步驟:

    注意事項

    您已在升級至SharePoint Server 訂閱版本程式的先前步驟中,于 SharePoint Server 2019 或 SharePoint Server 2016 環境中複製所有其他內容和服務資料庫。 我們建議您在稍後的階段複製搜尋管理資料庫,因為您必須在複製搜尋管理資料庫時,于 SharePoint Server 2019 或 SharePoint Server 2016 環境中暫停搜尋服務應用程式。

    重要事項

    在 SharePoint Server 2019 或 SharePoint Server 2016 環境中執行這些步驟。

    • 確認您具備下列成員身分:

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

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

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

        系統管理員可以使用Add-SPShellAdmin Cmdlet 來授與使用 SharePoint Server 訂閱版本 Cmdlet 的許可權。

        注意事項

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

    • 啟動 SharePoint 2019 或 SharePoint 2016 管理命令介面。

    • 暫停 Search 服務應用程式。 在 PowerShell 命令提示字元中,輸入下列命令:

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

      其中:

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

      注意事項

      當搜尋服務應用程式暫停時,SharePoint Server 2019或 SharePoint Server 2016 環境中的索引不會更新。 這表示在升級至SharePoint Server 訂閱版本期間,搜尋結果可能較不新。

    • 將搜尋管理資料庫設為唯讀。 在將 SharePoint Server 2019 或 SharePoint Server 2016 資料和網站升級至SharePoint Server 訂閱版本程式的第二個階段中,您會將所有其他資料庫設定為唯讀。 現在請對搜尋管理資料庫遵循相同的指示

    • 將 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列中的搜尋管理資料庫複製到SharePoint Server 訂閱版本伺服器陣列,遵循將資料庫複製到新伺服器陣列中的程式,升級至SharePoint Server 訂閱版本以進行搜尋管理僅限資料庫。

      重要事項

      在SharePoint Server 訂閱版本環境中執行後續步驟。

  2. 確認您具備下列成員身分:

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

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

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

    系統管理員可以使用Add-SPShellAdmin Cmdlet 來授與使用 SharePoint Server 訂閱版本 Cmdlet 的許可權。

    注意事項

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

  3. 啟動 SharePoint 訂閱版本管理命令介面。

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

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

    其中:

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

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

  5. 若要還原 Search 服務應用程式並升級搜尋管理資料庫,請在 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 應用程式,重複執行以下本文所述的程序:

      • 在 PowerShell 命令提示字元處輸入命令,以再次升級 Search 服務應用程式。

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

  6. 建立 Search Service Application Proxy,並完成這些動作,將它新增至預設的 Proxy 群組:

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

      $ssa = Get-SPEnterpriseSearchServiceApplication
      

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

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

      New-SPEnterpriseSearchServiceApplicationProxy -Name ProxyName -SearchApplication $ssa 
      

      其中:

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

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

        提示

        如果您未使用變數$ssa,則必須使用識別碼來識別搜尋服務應用程式,而不是名稱。 若要尋找識別碼,您可以執行 Get-SPServiceApplication Cmdlet 來傳回所有服務應用程式識別碼的清單。

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

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

      $ssap = Get-SPEnterpriseSearchServiceApplicationProxy 
      

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

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

      Add-SPServiceApplicationProxyGroupMember -member $ssap -identity ""
      

      其中:

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

        提示

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

      • 您使用空白的 Identity 參數 ("") 將其新增至預設群組。

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

  7. 如果SharePoint Server 2019或 SharePoint Server 2016 伺服器陣列使用已分割的連結資料庫,請以相同方式分割SharePoint Server 訂閱版本伺服器陣列中的連結資料庫。 在 Move-SPEnterpriseSearchLinksDatabases 中深入了解。

  8. (選擇性) 保留來自 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列的搜尋相關性設定。 由於升級的搜尋服務應用程式具有新的空白索引,因此無法完全保留來自 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列的搜尋分析資料。 從 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列複製 Analytics Reporting 資料庫,並將其附加至 SharePoint Server 訂閱版本 伺服器陣列中的新搜尋服務應用程式:

    • 在 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列中,備份Analytics Reporting 資料庫。

    • 在SharePoint Server 訂閱版本伺服器陣列中,將備份的資料庫還原至新的資料庫伺服器。

    • 在 SharePoint Server 訂閱版本 伺服器陣列中,將還原的資料庫附加至新的搜尋服務應用程式。

  9. 確認新SharePoint Server 訂閱版本伺服器陣列上的搜尋拓撲與SharePoint Server 2019或 SharePoint Server 2016 伺服器陣列的搜尋拓撲相似。 如果您的搜尋需求已變更,現在是相應放大新SharePoint Server 訂閱版本伺服器陣列搜尋拓撲的好時機。

  10. 恢復 SharePoint Server 環境中的 Search 服務應用程式。

    在 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 2019 或 SharePoint Server 2016 Cmdlet 的許可權。

    注意事項

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

  2. 啟動 SharePoint 訂閱版本管理命令介面。

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

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

    其中:

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

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

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

    如需詳細資訊,請參閱 Get-SPServiceApplicationProxyGroupGet-SPServiceApplicationProxyGroup

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

階段 描述
123 步驟 這是將 SharePoint Server 2019 和 SharePoint Server 2016 資料和網站升級至SharePoint Server 訂閱版本程式的第三個階段。
如需整個程式的概觀,請參閱升級至SharePoint Server 訂閱版本程式的概觀

下一個階段:將內容資料庫升級至SharePoint Server 訂閱版本

另請參閱

概念

建立資料庫連結升級的 SharePoint Server 訂閱版本伺服器陣列

將資料庫複製到新伺服器陣列以升級到 SharePoint Server 訂閱版本

將內容資料庫升級到 SharePoint Server 訂閱版本

SharePoint Server 訂閱版本的服務升級概觀