將服務應用程式升級到 SharePoint Server 訂閱版本
適用於:Subscription Edition SharePoint in Microsoft 365
當您從 SharePoint Server 2019 或 SharePoint Server 2016 升級至 SharePoint Server 訂閱版本時,您必須使用資料庫附加升級,這表示您只升級環境的內容,而不是組態設定。 設定 SharePoint Server 訂閱版本環境,並複製內容和服務應用程式資料庫之後,您可以將服務應用程式升級至 SharePoint Server 訂閱版本。 本文包含升級服務應用程式所需採取的步驟。
升級程序階段 3:升級服務應用程式
階段 | 描述 |
---|---|
這是將 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-SPServiceApplicationPool 和 New-SPServiceApplicationPool。
提示
本文會在 PowerShell Cmdlet 中使用變數 (例如 $applicationPool、$sss、$upa 等等) 以節省時間和精力。 若您不想使用這些變數,則不一定要使用。 不過,若您不使用這些變數,必須在指定 Identity 參數時,使用服務應用程式及服務應用程式 Proxy 的識別碼。 每個程序皆含有所使用的變數資訊,或用於查詢所有必要識別碼的替代 Cmdlet。 > 此外,本文中的許多程式都包含設定$applicationPool變數的步驟。 若您要在 PowerShell 的相同工作階段中執行所有這些程序,且您想要為所有服務應用程式使用相同的應用程式集區,不需要在每個程序中重複此步驟。 您可以在一開始設定此變數一次,然後將其用於本文的各個程序中。
關於升級服務應用程式資料庫
若要升級服務應用程式資料庫,您必須建立新服務應用程式並提供現有資料庫的名稱,才能使用新的服務應用程式。 建立服務應用程式,就能升級資料庫。 此程序有幾個步驟。
注意事項
[!附註] 無法升級 Word Automation Services 和 Machine Translation Service。 將需要建立新的服務執行個體。
重要事項
下列步驟僅適用自訂伺服器角色類型。 如需伺服器角色類型的詳細資訊,請參閱規劃在 SharePoint Server 2016 和 SharePoint Server 2019 中進行 MinRole 伺服器部署
啟動服務實例。
第一個步驟是針對您可以升級的四個服務應用程式啟動服務實例:Business Data Connectivity Service、Managed Metadata Web Service、Secure Store 服務和搜尋服務。 這些服務執行個體大多可從 管理中心 啟動。 但是 SharePoint Server Search 服務執行個體必須使用 PowerShell 啟動。
建立服務應用程式並升級資料庫。
啟動服務執行個體後,下一個步驟就是建立服務應用程式並升級資料庫。 您必須使用 PowerShell 來還原服務應用程式資料庫。
建立服務應用程式的 Proxy。
升級服務應用程式資料庫後,您要建立服務應用程式的 Proxy,並將其加入預設 Proxy 群組。 您必須建立下列服務應用程式的 Proxy:
Managed Metadata Service 應用程式
Search Service 應用程式
Secure Store 服務應用程式
Business Data Connectivity Service 應用程式會在您建立服務應用程式時自動建立 Proxy,並將其指派到預設的 Proxy 群組。
確認 Proxy 在預設群組中
下節提供完成這些步驟的程序。
啟動服務執行個體
下列程序會啟動服務執行個體。
從 管理中心 啟動服務應用程式執行個體
啟動 SharePoint 2019 管理中心。
在 SharePoint 2019 管理中心的 [應用程式管理] 頁面中,按一下 [服務應用程式] 區段中的 [管理伺服器上的服務]。
按一下 [Business Data Connectivity Service] 旁的 [啟動]。
按一下 [Managed Metadata Web Service] 旁的 [啟動]。
按一下 [Secure Store Service] 旁的 [啟動]。
Search Service 執行個體必須透過 PowerShell 啟動,因為您無法從管理中心啟動,除非 Search Service 應用程式已存在。
提示
使用 MinRole 時,[啟動] 可能無法使用,因為它是由伺服器陣列管理。 建立關聯的服務應用程式之後,就會自動啟動服務執行個體。
使用 PowerShell 啟動 Search Service 執行個體。
確認您具備下列成員身分:
SQL Server 執行個體上的 securityadmin 固定伺服器角色。
所有要更新之資料庫上的 db_owner 固定資料庫角色。
正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
系統管理員可以使用 Add-SPShellAdmin Cmdlet 來授與使用 SharePoint Server 訂閱版本 Cmdlet 的許可權。
注意事項
[!附註] 如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。 如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin。
啟動 SharePoint 訂閱版本管理命令介面。
若要啟動 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 服務應用程式
確認您具備下列成員身分:
SQL Server 執行個體上的 securityadmin 固定伺服器角色。
所有要更新之資料庫上的 db_owner 固定資料庫角色。
正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server Cmdlet 的權限。
注意事項
[!附註] 如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。 如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin。
啟動 SharePoint 訂閱版本管理命令介面。
若要將您想使用的應用程式集區儲存為此服務應用程式的變數,請在 Microsoft PowerShell 命令提示字元處輸入下列命令:
$applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
其中:
- SharePoint Web Services default 是將包含新服務應用程式的服務應用程式集區名稱。 此為預設的服務應用程式集區。 您可以指定其他服務應用程式集區。
此 Cmdlet 將服務應用程式集區設為變數,以便接下來的 Cmdlet 再次使用。 若您有多個應用程式集區,且必須為特定的服務應用程式使用不同的應用程式集區,可在程序中重複此步驟,以建立每個服務應用程式使用適當的應用程式集區。
若要升級 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>。
輸入下列命令,建立 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 加密金鑰>。
輸入下列命令,還原 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 應用程式
確認您具備下列成員身分:
SQL Server 執行個體上的 securityadmin 固定伺服器角色。
所有要更新之資料庫上的 db_owner 固定資料庫角色。
正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
系統管理員可以使用 Add-SPShellAdmin Cmdlet 來授與使用 SharePoint Server 2019 或 SharePoint Server 2016 Cmdlet 的許可權。
注意事項
[!附註] 如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。 如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin。
啟動 SharePoint 訂閱版本管理命令介面。
若要將您想使用的應用程式集區儲存為此服務應用程式的變數,請在 Microsoft PowerShell 命令提示字元處輸入下列命令:
$applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
其中:
- SharePoint Web Services 預設 是將包含新服務應用程式的服務應用程式集區名稱。
此 Cmdlet 將服務應用程式集區設為變數,以便接下來的 Cmdlet 再次使用。 若您有多個應用程式集區,且必須為特定的服務應用程式使用不同的應用程式集區,可在程序中重複此步驟,以建立每個服務應用程式使用適當的應用程式集區。
若要升級 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 應用程式
確認您具備下列成員身分:
SQL Server 執行個體上的 securityadmin 固定伺服器角色。
所有要更新之資料庫上的 db_owner 固定資料庫角色。
正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
系統管理員可以使用 Add-SPShellAdmin Cmdlet 來授與使用 SharePoint Server 2019 或 SharePoint Server 2016 Cmdlet 的許可權。
注意事項
[!附註] 如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。 如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin。
啟動 SharePoint 訂閱版本管理命令介面。
若要將您想使用的應用程式集區儲存為此服務應用程式的變數,請在 PowerShell 命令提示字元處輸入下列命令:
$applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
其中:
- SharePoint Web Services 預設 是將包含新服務應用程式的服務應用程式集區名稱。
此 Cmdlet 將服務應用程式集區設為變數,以便接下來的 Cmdlet 再次使用。 若您有多個應用程式集區,且必須為特定的服務應用程式使用不同的應用程式集區,可在程序中重複此步驟,以建立每個服務應用程式使用適當的應用程式集區。
若要升級受控元數據服務應用程式,請在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>。
在 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 訂閱版本伺服器數位,然後從 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣組中的 SharePoint Server 訂閱版本伺服器數組建立新的 User Profile Service 應用程式。 還原會觸發 SharePoint Server 訂閱版本,在 SharePoint Server 訂閱版本伺服器陣列中建立新的使用者設定檔服務應用程式,並將其指向複製的使用者配置檔資料庫。 若要完成 User Profile 服務應用程式的升級,您可以建立 Proxy 並將它新增至預設的 Proxy 群組。
使用 PowerShell 升級 User Profile 服務應用程式
依照下列步驟,將 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 訂閱版本環境中執行後續步驟。
確認您具備下列成員身分:
SQL Server 執行個體上的 securityadmin 固定伺服器角色。
所有要更新之資料庫上的 db_owner 固定資料庫角色。
正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
系統管理員可以使用 Add-SPShellAdmin Cmdlet 來授與使用 SharePoint Server 2019 或 SharePoint Server 2016 Cmdlet 的許可權。
注意事項
[!附註] 如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。 如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin。
啟動 SharePoint 訂閱版本管理命令介面。
若要將您想使用的應用程式集區儲存為此服務應用程式的變數,請在 Microsoft PowerShell 命令提示字元處輸入下列命令:
$applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
其中:
SharePoint Web Services 預設 是將包含新服務應用程式的服務應用程式集區名稱。
此 Cmdlet 將服務應用程式集區設為變數,以便接下來的 Cmdlet 再次使用。 若您有多個應用程式集區,且必須為特定的服務應用程式使用不同的應用程式集區,可在程序中重複此步驟,以建立每個服務應用程式使用適當的應用程式集區。
若要還原 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 是新同步處理資料庫的名稱。
建立 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 應用程式。
若要升級 Search Service 應用程式,您可以將 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列中的搜尋管理資料庫複製到 SharePoint Server 訂閱版本伺服器數位,然後從 SharePoint Server 2019 或 SharePoint Server 2016 伺服器數組中的 SharePoint Server 訂閱版本伺服器陣列還原搜尋服務應用程式。 還原會觸發 SharePoint Server 訂閱版本,在 SharePoint Server 訂閱版本伺服器陣列中建立新的搜尋服務應用程式,並將其指向複製的搜尋管理資料庫。 若要完成 Search Service 應用程式的升級,您可以建立 Proxy 並將其新增至預設 Proxy 群組,並確保新的連結資料庫和新的搜尋拓撲的設定方式與 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列中的設定方式相同。
SharePoint Server 訂閱版本通常會在建立新的搜尋服務應用程式時,使用所有搜尋元件和資料庫建立新的搜尋拓撲。 在 還 原 Search Service 應用程式期間,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 應用程式
將 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列中的搜尋管理資料庫複製到 SharePoint Server 訂閱版本伺服器陣列,並遵循下列步驟:
注意事項
在升級至 SharePoint Server 訂閱版本的程式先前步驟中,您已在 SharePoint Server 2019 或 SharePoint Server 2016 環境中複製所有其他內容和服務資料庫。 建議您在稍後的階段複製搜尋管理資料庫,因為您必須在複製搜尋管理資料庫時,於 SharePoint Server 2019 或 SharePoint Server 2016 環境中暫停 Search Service 應用程式。
重要事項
在 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 應用程式的名稱。
注意事項
當 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 訂閱版本環境中執行後續步驟。
確認您具備下列成員身分:
SQL Server 執行個體上的 securityadmin 固定伺服器角色。
所有要更新之資料庫上的 db_owner 固定資料庫角色。
正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
系統管理員可以使用 Add-SPShellAdmin Cmdlet 來授與使用 SharePoint Server 訂閱版本 Cmdlet 的許可權。
注意事項
[!附註] 如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。 如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin。
啟動 SharePoint 訂閱版本管理命令介面。
若要將您想使用的應用程式集區儲存為此服務應用程式的變數,請在 PowerShell 命令提示字元處輸入下列命令:
$applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
其中:
SharePoint Web Services 預設 是將包含新服務應用程式的服務應用程式集區名稱。
此 Cmdlet 將服務應用程式集區設為變數,以便接下來的 Cmdlet 再次使用。 若您有多個應用程式集區,且必須為特定的服務應用程式使用不同的應用程式集區,可在程序中重複此步驟,以建立每個服務應用程式使用適當的應用程式集區。
若要還原 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。
建立 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,則必須使用標識符來識別 Search Service 應用程式,而不是名稱。 若要尋找識別碼,您可以執行 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,則必須使用標識符來識別 Search Service 應用程式 Proxy,而不是名稱。 若要尋找識別碼,您可以執行 Get-SPServiceApplicationProxy Cmdlet 來傳回所有服務應用程式 Proxy 識別碼的清單。
您使用空白的 Identity 參數 ("") 將其新增至預設群組。
如需詳細資訊,請參閱<Add-SPServiceApplicationProxyGroupMember>。
如果 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列使用已分割的連結資料庫,請以相同方式分割 SharePoint Server 訂閱版本伺服器陣列中的連結資料庫。 在 Move-SPEnterpriseSearchLinksDatabases 中深入了解。
(選擇性) 保留 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列的搜尋相關性設定。 由於升級的 Search Service 應用程式具有新的空白索引,因此無法完全保留來自 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列的搜尋分析數據。 從 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列複製 Analytics Reporting 資料庫,並將其附加至 SharePoint Server 訂閱版本伺服器陣列中的新 Search Service 應用程式:
在 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列中, 備份 Analytics Reporting 資料庫。
在 SharePoint Server 訂閱版本伺服器陣列中,將 備份的資料庫還 原至新的資料庫伺服器。
在 SharePoint Server 訂閱版本伺服器陣列 中,將還原的資料庫附加 至新的 Search Service 應用程式。
確認新 SharePoint Server 訂閱版本伺服器陣列上的搜尋拓撲與 SharePoint Server 2019 或 SharePoint Server 2016 伺服器陣列類似。 如果您的搜尋需求已變更,現在是相應放大新 SharePoint Server 訂閱版本伺服器數位搜尋拓撲的好時機。
恢復 SharePoint Server 環境中的 Search 服務應用程式。
在 PowerShell 命令提示字元中,輸入下列命令:
$ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName> $ssa.ForceResume(0x02)
其中:
- SearchServiceApplicationName 是您想恢復之 Search Service 應用程式的名稱。
確認所有的新 Proxy 都已在預設 Proxy 群組中
依照下列程序確認建立 Proxy 並加入預設 Proxy 群組的步驟皆可正常運作。
使用 PowerShell 確認所有新的 Proxy 都已在預設 Proxy 群組中
確認您具備下列成員身分:
SQL Server 執行個體上的 securityadmin 固定伺服器角色。
所有要更新之資料庫上的 db_owner 固定資料庫角色。
正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
系統管理員可以使用 Add-SPShellAdmin Cmdlet 來授與使用 SharePoint Server 2019 或 SharePoint Server 2016 Cmdlet 的許可權。
注意事項
[!附註] 如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。 如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin。
啟動 SharePoint 訂閱版本管理命令介面。
在 PowerShell 命令提示字元處,輸入下列命令:
$pg = Get-SPServiceApplicationProxyGroup -Identity "" $pg.Proxies
其中:
$pg 是您設定的變數,用來代表預設 Proxy 群組。
您使用空白的 Identity 參數 ("") 指定預設 Proxy 群組。
這樣會傳回預設 Proxy 群組的所有 Proxy 清單、顯示名稱與識別碼。
如需詳細資訊,請參閱 Get-SPServiceApplicationProxyGroupGet-SPServiceApplicationProxyGroup。
服務應用程式既已升級,您便可開始執行程序,升級內容資料庫。 第一步就是建立各個內容資料庫需要的 Web 應用程式。
階段 | 描述 |
---|---|
這是將 SharePoint Server 2019 和 SharePoint Server 2016 數據和網站升級至 SharePoint Server 訂閱版本程式的第三個階段。 如需整個程式的概觀,請參閱 SharePoint Server 訂閱版本的升級程式概觀。 |
下一個階段: 將內容資料庫升級至 SharePoint Server 訂閱版本
另請參閱
概念
建立資料庫連結升級的 SharePoint Server 訂閱版本伺服器陣列
將資料庫複製到新伺服器陣列以升級到 SharePoint Server 訂閱版本