在 SharePoint Server 中移動或重新命名服務應用程式資料庫

適用于:yes-img-132013 yes-img-16 2016yes-img-192019 yes-img-se訂閱版本 no-img-sopMicrosoft 365 中的 SharePoint

瞭解如何在 SharePoint Server 中移動或重新命名服務應用程式資料庫。

將服務應用程式資料庫移至另一個伺服器陣列資料庫伺服器的主要原因是負載平衡伺服器陣列。 或者,您可能需要將它移至較新的硬體。

重新命名服務應用程式資料庫通常是在您使用 SharePoint 產品設定精靈和 SharePoint Server 產品設定精靈在伺服器陣列中建立服務應用程式資料庫之後,從資料庫名稱移除 GUID。 您可能也需要讓資料庫名稱與組織的命名標準一致。

移動服務應用程式資料庫和為其重新命名都會按照相同的基本程序來進行,但在移動服務應用程式資料庫時會多幾個步驟。

  1. 使用 Microsoft SQL Server Management Studio 或 Microsoft PowerShell 移動或重新命名 SharePoint Server 服務應用程式資料庫。

  2. 使用 SharePoint 管理中心網站或 PowerShell 將 SharePoint 服務應用程式指向已移動或重新命名的資料庫。

    視您移動或重新命名的服務應用程式資料庫數目而定,將服務應用程式指向資料庫可能會很複雜。 不同的服務應用程式需要不同的方法來指向移動或重新命名的資料庫。

這些服務應用程式資料庫會使用下列步驟:

  • App Management Service

  • Managed Metadata Service

  • PerformancePoint Service

  • Secure Store Service

  • SharePoint Translation Service

  • 狀態服務

  • 訂閱設定服務

  • Word Automation Services

  1. 停止或停用服務應用程式。

  2. 將資料庫中斷連結。

  3. 移動資料庫或為其重新命名。

  4. 連結資料庫。

  5. 將服務應用程式指向已移動或重新命名的資料庫。

  6. 重新啟動服務應用程式。

Business Data Connectivity Service 和 User Profile Service 應用程式資料庫需要進行下列步驟才能移動資料庫或為其或重新命名:

  1. 停止或停用服務應用程式。

  2. 將資料庫中斷連結。

  3. 移動資料庫或為其重新命名。

  4. 連結資料庫。

  5. 將服務應用程式指向已移動或重新命名的資料庫。

  6. 刪除服務應用程式。

  7. 重新建立服務應用程式。

  8. 重新啟動服務應用程式。

Search Service 應用程式資料庫需要進行下列步驟:

  1. 暫停服務應用程式。

  2. 將搜尋服務應用程式設定為唯讀。

  3. 備份服務應用程式。

  4. 在主控 SQL Server 的新伺服器中將平行處理原則的最大程度設為 1。

  5. 將搜尋服務應用程式還原到新的資料庫伺服器。

  6. 將搜尋服務應用程式設定為讀寫。

  7. 啟動服務應用程式。

  8. 將搜尋服務應用程式指向已移動或重新命名的資料庫。

使用 SQL Server 來移動服務應用程式資料庫或為其重新命名的一般步驟

若要移動服務應用程式資料庫,您必須使用 SQL Server。 若要重新命名服務應用程式資料庫,您必須使用 SQL Server 和 檔案總管。

注意

請勿嘗試在一個程式中移動資料庫並重新命名。 您應該移動資料庫或重新命名資料庫,而不是同時執行這兩個動作。

當您移動或重新命名服務應用程式資料庫時,第一個步驟是停止您要變更之資料庫的服務應用程式。 您可以使用管理中心或 PowerShell 來停止或啟動服務。

步驟 1:使用管理中心來停止服務應用程式

  1. 使用屬於伺服器陣列管理員 SharePoint 群組成員的帳戶。

  2. 在管理中心按一下 [系統設定]

  3. 在 [系統設定] 頁面上,按一下 [伺服器] 區段中的 [管理伺服器上的服務]

  4. 找到您想要停止的服務應用程式,在服務的 [動作] 資料行中按一下 [停止] 或 [停用],然後按一下 [確定]

使用 PowerShell 停止服務

  1. 使用具有下列成員資格的帳戶:

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

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

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

    注意事項

    如需 Microsoft PowerShell 權限的其他資訊,請參閱權限

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

  3. 在下一個步驟中,您必須知道服務 GUID。 使用 Get-SPServiceInstance Cmdlet 來擷取伺服器陣列中所有服務的清單及其 GUID。

  4. 在 PowerShell 命令提示字元中,輸入下列命令:

    Stop-SPServiceInstance -Identity <ServiceGUID>
    

    其中< ServiceGUID >是服務的 GUID。

    如需詳細資訊,請參閱 Stop-SPServiceInstance

使用 SQL Server Management Studio 和檔案總管移動資料庫

若要移動資料庫,您必須先將資料庫與 SQL Server 中斷連結,使用檔案總管將檔案移至新位置,然後將資料庫連結至新的 SQL Server 執行個體。

步驟 2:從 SQL Server 卸離資料庫

  1. 使用針對所要移動之所有資料庫皆具有 db_owner 固定資料庫角色的帳戶。

  2. 在 SQL Server Management Studio 中,連線到用來連結服務應用程式資料庫的 SQL Server 執行個體,然後展開 [資料庫] 節點。

  3. 以滑鼠右鍵按一下資料庫,指向 [工作],然後按一下 [卸離]。 請對每個要移動的資料庫重複此步驟。

步驟 3:使用檔案總管將資料庫檔案移至新位置

  1. 使用具有來源位置讀取權限和目標位置寫入權限的帳戶。

  2. 在檔案總管中,尋找服務應用程式資料庫的 .mdf、.ndf 和 .ldf 檔案,然後選取您要移動的檔案。 資料庫檔案通常會在這裡找到, C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLServer\MSSQL\Data

  3. 將資料庫檔案複製或移到新的位置。

步驟 4:將資料庫連結到 SQL Server 的新執行個體

  1. 使用針對所要移動之所有資料庫皆具有 db_owner 固定資料庫角色的帳戶。

  2. 在 SQL Server Management Studio 中,開啟目的地 SQL Server 執行個體。

  3. 以滑鼠右鍵按一下 [資料庫] 節點,指向 [工作],然後按一下 [連結]

  4. 在 [ 附加資料庫 ] 對話方塊中,流覽至您移動 .mdf、.ndf 和 .ldf 檔案的位置,選取您要附加之資料庫的 .mdf 檔案,然後按一下 [ 確定]。 針對您要移動的每個資料庫重複此步驟。

使用 SQL Server Management Studio 重新命名資料庫

重新命名服務應用程式資料庫是兩個步驟的程式,首先停止服務,就如同您要移動資料庫一樣。 然後使用 SQL Server Management Studio 重新命名資料庫。

步驟 3:使用 SQL Server 來為資料庫重新命名

  1. 在 SQL Server Management Studio 中,連線至來源 SQL Server 執行個體,然後展開 [資料庫] 節點。

  2. 以滑鼠右鍵按一下想要重新命名的資料庫,並按一下 [重新命名],然後輸入新名稱。 針對您要重新命名的每個資料庫重複此步驟。

將 SharePoint Server 服務應用程式指向已移動或重新命名的資料庫

指向已移動或重新命名的資料庫是下一個步驟。 您可以使用管理中心或 PowerShell 來執行此動作。 針對大部分的 SharePoint Server 服務應用程式,使用管理中心將服務應用程式指向已移動或重新命名的資料庫是相同的。 使用 PowerShell 將服務應用程式指向已移動或重新命名的資料庫,會因每個服務應用程式而有所不同。 本節提供每個服務應用程式和資料庫的指引。

步驟 5:使用管理中心將服務應用程式指向已移動或重新命名的資料庫

  1. 使用屬於伺服器陣列管理員 SharePoint 群組成員的帳戶。

  2. 在管理中心中,按一下 [應用程式管理] 下的 [管理服務應用程式]

  3. 在 [管理服務應用程式] 頁面上,按一下服務應用程式名稱旁邊資料列中的空白區域。 功能區變成作用中,按一下 [ 屬性 ],[ 編輯服務應用程式 ] 對話方塊隨即出現。

  4. 變更資料庫伺服器或資料庫名稱,然後按一下 [確定]

使用 PowerShell 將 Managed Metadata 服務應用程式指向已移動或重新命名的資料庫

  1. 使用具有下列成員資格的帳戶:

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

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

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

    注意事項

    如需 Microsoft PowerShell 權限的其他資訊,請參閱權限

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

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

    $app = Get-SPServiceApplication -Name "<ServiceApplicationName>"
    Set-SPMetadataServiceApplication -Identity "<Name/GUID of service application>" $app -DatabaseName "<DatabaseName>" -DatabaseCredentials PSCredential object>
    

    其中:

    • <ServiceApplicationName> 是 Managed Metadata Service 應用程式的名稱。

    • <DatabaseName> 是重新命名資料庫的名稱。

使用 PowerShell 將 PerformancePoint Service 服務應用程式指向重新命名或移動的資料庫

  1. 使用具有下列成員資格的帳戶:

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

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

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

    注意事項

    如需 Microsoft PowerShell 權限的其他資訊,請參閱權限

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

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

    Set-SPPerformancePointServiceApplication -Identity "<ServiceApplicationName>" -SettingsDatabase "<DatabaseServerName\DatabaseName>"
    

    其中:

    • <ServiceApplicationName> 是 PerformancePoint 服務應用程式名稱。

    • < DatabaseServerName\DatabaseName >是 的位置,以及重新命名或移動之資料庫的名稱。 如果您只是重新命名資料庫,請不要包括位置。

State Service 資料庫會儲存暫存狀態資訊資料。 您可以執行下列其中一個程式,使用 PowerShell 將 State Service 服務應用程式指向已移動的資料庫:

使用 PowerShell 將新資料庫新增至 State Service 服務應用程式並移除舊資料庫

  1. 使用具有下列成員資格的帳戶:

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

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

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

    注意事項

    如需 Microsoft PowerShell 權限的其他資訊,請參閱權限

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

  3. 在 PowerShell 命令提示字元處,輸入下列命令以建立新資料庫:

    New-SPStateServiceDatabase -Name "<NewDatabaseName>"
    

    然後輸入下列命令,以移除舊資料庫:

    Remove-SPStateServiceDatabase -Name "<OldDatabaseName>"
    

    其中:

    • <NewDatabaseName> 是要建立之新資料庫的名稱。

    • <OldDatabaseName> 是要與 State Service 解除關聯並從 SQL Server 卸離的舊資料庫名稱。

使用 PowerShell 將 State Service 服務應用程式指向已移動或重新命名的資料庫

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

  2. 在 PowerShell 命令提示字元上,輸入下列命令以卸載資料庫:

    Dismount-SPStateServiceDatabase -Identity <DatabaseID>
    

    其中< DatabaseID >是要從服務應用程式移除的 State Service 資料庫。 此類型必須是格式為 12345678-90ab-cdef-1234-567890bcdefgh 的有效 GUID、狀態資料庫的有效名稱,或有效 SPStateServiceDatabase 物件的實例。

    如需詳細資訊,請參閱 Dismount-SPStateServiceDatabase

  3. 移動資料庫。 如需詳細資訊,請參閱使用 SQL Server Management Studio 和 檔案總管 來移動資料庫

  4. 在 PowerShell 命令提示字元上,輸入下列命令,以裝載重新命名或移動的資料庫:

    Mount-SPStateServiceDatabase -Name "<DatabaseName>" -DatabaseServer "<ServerName>"
    

    其中:

    • <DatabaseName> 是與 State Service 相關聯的資料庫名稱。

    • <ServerName> 是裝載 State Service 資料庫之 SQL Server 的名稱。

使用 PowerShell 將 Usage and Health Data Collection Service 應用程式指向移動的資料庫

  1. 使用具有下列成員資格的帳戶:

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

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

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

    注意事項

    如需 Microsoft PowerShell 權限的其他資訊,請參閱權限

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

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

    Set-SPUsageApplication -Identity "<ServiceApplicationName>" -DatabaseName "<DbName>" -DatabaseServer "<SQLServerName>"
    

    其中:

    • <ServiceApplicationName> 是 Usage and Health Data Collection Service 應用程式的名稱。

    • <DatabaseName> 是資料庫的名稱。

    • <SQLServerName> 是資料庫伺服器的名稱。

使用 PowerShell 將 Word Automation 服務應用程式指向已重新命名或移動的資料庫

  1. 使用具有下列成員資格的帳戶:

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

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

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

    注意事項

    如需 Microsoft PowerShell 權限的其他資訊,請參閱權限

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

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

    $app = Get-SPServiceApplication -Name "<ServiceApplicationName>"
    Set-SPWordConversionServiceApplication -Identity $app -DatabaseName "<DatabaseName>" -DatabaseServer "<DatabaseServer>"
    

    其中:

    • <ServiceApplicationName> 是 Word Automation Service 應用程式的名稱。

    • <DatabaseName> 是重新命名或移動的資料庫名稱。

    • < DatabaseServer >是重新命名或移動資料庫的位置。 如果您是指向相同位置中重新命名的資料庫,請不要包括此參數。

使用 PowerShell 將「訂閱設定服務」服務應用程式指向移動的資料庫

  1. 使用具有下列成員資格的帳戶:

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

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

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

    注意事項

    如需 Microsoft PowerShell 權限的其他資訊,請參閱權限

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

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

    Set-SPSubscriptionSettingsServiceApplication -Identity "<ServiceApplicationName>" -DatabaseName "<DatabaseName>" -DatabaseServer "<DatabaseServer>"
    

    其中:

    • <ServiceApplicationName> 是訂閱設定服務應用程式的名稱。

    • <DatabaseName> 是重新命名資料庫的名稱。

    • <DatabaseServer> 是重新命名資料庫的名稱。

步驟 6:使用管理中心來啟動服務應用程式

  1. 使用屬於伺服器陣列管理員 SharePoint 群組成員的帳戶。

  2. 在管理中心按一下 [系統設定]

  3. 在 [系統設定] 頁面上,按一下 [伺服器] 區段中的 [管理伺服器上的服務]

  4. 找到您需要的服務應用程式,在服務的 [動作] 資料行中按一下 [啟動],然後按一下 [確定]

移動 Business Data Connectivity Service 和 User Profile Service 應用程式資料庫或為其重新命名的步驟

移動或重新命名 Business Data Connectivity Service 應用程式和 User Profile Service 應用程式資料庫時,需要額外的步驟。 這兩個服務應用程式資料庫所需的額外步驟是,在您移動或重新命名資料庫之後,建議您刪除服務應用程式,然後重新建立它。

下列程式示範如何移動或刪除 Business Data Connectivity 服務應用程式。

停止 Business Data Connectivity Service 應用程式

  1. 使用屬於伺服器陣列管理員 SharePoint 群組成員的帳戶。

  2. 在管理中心按一下 [系統設定]

  3. 在 [系統設定] 頁面上,按一下 [伺服器] 區段中的 [管理伺服器上的服務]

  4. 找到您想要停止的服務應用程式,在服務的 [動作] 資料行中按一下 [停止] 或 [停用],然後按一下 [確定]

使用 PowerShell 停止服務

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

  2. 在 PowerShell 命令提示字元中,輸入下列命令:

    Stop-SPServiceInstance -Identity <ServiceGUID>
    

    其中< ServiceGUID >是服務的 GUID。 如果您不知道服務 GUID,可以使用 Get-SPServiceInstance Cmdlet 來擷取伺服器陣列中所有服務的清單及其 GUID。

    如需詳細資訊,請參閱 Stop-SPServiceInstanceGet-SPServiceInstance

步驟 2:從 SQL Server 卸離資料庫

  1. 使用針對所要移動之所有資料庫皆具有 db_owner 固定資料庫角色的帳戶。

  2. 在 SQL Server Management Studio 中,連線至來源 SQL Server 執行個體,然後展開 [資料庫] 節點。

  3. 以滑鼠右鍵按一下資料庫,指向 [工作],然後按一下 [卸離]。 請對每個要移動的資料庫重複此步驟。

步驟 3:使用檔案總管或 Windows 檔案總管將資料庫檔案移至新位置

  1. 使用具有來源位置讀取權限和目標位置寫入權限的帳戶。

  2. 在檔案總管中,尋找服務應用程式資料庫的 .mdf、.ndf 和 .ldf 檔案,然後選取您要移動的檔案。 資料庫檔案通常會在這裡找到, C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLServer\MSSQL\Data

  3. 將資料庫檔案複製或移到新的位置。

步驟 4:將資料庫連結到 SQL Server 的新執行個體

  1. 使用針對所要移動之所有資料庫皆具有 db_owner 固定資料庫角色的帳戶。

  2. 在 SQL Server Management Studio 中,開啟目的地 SQL Server 執行個體。

  3. 以滑鼠右鍵按一下 [資料庫] 節點,指向 [工作],然後按一下 [連結]

  4. 在 [ 附加資料庫 ] 對話方塊中,流覽至您移動 .mdf、.ndf 和 .ldf 檔案的位置,選取您要附加之資料庫的 .mdf 檔案,然後按一下 [ 確定]。 針對您要移動的每個資料庫重複此步驟。

將 Business Data Connectivity Service 應用程式指向已移動的資料庫

對於大部分服務應用程式而言,要將服務應用程式指向已移動之資料庫的方法是刪除服務應用程式,然後重新建立服務應用程式。 當您重新建立服務應用程式時,請使用新的名稱或新的位置。

記載服務應用程式設定

在刪除和重新建立服務應用程式前,請記載服務應用程式的設定。 若要這樣做,請使用在 SharePoint Server 中記錄伺服器陣列組態設定一文中所述的建議 PowerShell Cmdlet。

使用管理中心刪除服務應用程式

  1. 使用屬於伺服器陣列管理員 SharePoint 群組成員的帳戶。

  2. 在管理中心按一下 [應用程式管理],然後按一下 [管理服務應用程式]

  3. 在 [服務應用程式] 頁面上,將游標放在 Business Data Connectivity Service 旁,然後按一下空白列。

    功能區隨即呈現作用狀態。

  4. 在功能區上,按一下 [刪除]

  5. 如果您想要刪除服務應用程式資料庫,請在 [刪除服務應用程式] 對話方塊中,選取 [ 刪除與服務應用程式相關聯的資料 ] 旁的核取方塊。 If you want to retain the database, leave this check box cleared.

  6. 按一下 [確定] 刪除服務應用程式,或按一下 [取消] 停止此作業。

建立服務應用程式

若要建立 Business Data Connectivity service 應用程式,請依照在 SharePoint Server 中設定 Business Data Connectivity Service 應用程式中的程序操作。

啟動服務應用程式

  1. 若要啟動服務應用程式,請參閱在 SharePoint Server 中啟動或停止服務

在 SharePoint Server 2013 和 SharePoint Server 2016 中移動或重新命名 Search Service 應用程式資料庫的步驟

若要移動搜尋服務應用程式資料庫,您必須使用 SQL Server、SQL Server Management Studio 和 Windows 檔案總管。 若要指向移動的資料庫,您必須使用 PowerShell。 請依照所列示的順序完成下列步驟。

重要事項:

您用來執行作業的帳戶皆必須具有下列成員資格和權限:

  • 伺服器陣列管理員 SharePoint 群組的成員。

  • 本機伺服器上系統管理員群組的成員。

  • 來源位置的讀取權限,以及目標位置的寫入權限。

  • 您要移動之所有資料庫的 db_owner 固定資料庫角色。

  • 您要移動之所有資料庫的 db_creatorsecurityadmin 角色。

Search Service 帳戶必須具有下列角色:

  • 管理、連結及編目資料庫的 db_owner 固定資料庫角色。

  • 分析報告資料庫的 SPSearchDBAdmin 資料庫角色。

在某些環境中,您必須與資料庫管理員協調重新命名和移動程序。 請務必遵循所有適用於管理資料庫的原則和準則。

使用 PowerShell 來暫停 Search Service 應用程式

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

  2. 在 PowerShell 命令提示字元中,輸入下列命令:

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

    其中< SearchServiceApplicationName >是與資料庫移動相關聯之搜尋服務應用程式的名稱。

變更 Search Service 應用程式資料庫的唯讀模式

  1. 使用屬於內容資料庫 db_owner 固定資料庫角色成員的帳戶。

  2. 開啟 SQL Server Management Studio 並連線至資料庫伺服器。

  3. 在 [物件總管] 中,展開 [資料庫]

  4. 將下列資料庫設為唯讀模式:

    • 搜尋管理

    • 分析報告

    • 編目

    • 連結

    • 以滑鼠右鍵按一下您要設為讀寫或唯讀模式的資料庫,然後按一下 [屬性]

    • 在 [ 資料庫屬性] 對話方塊的 [ 選項 屬性] 頁面的 [ 狀態 ] 區段中,選取 [資料庫唯讀] 旁清單中的 [ True ] 或 [ False ],然後按一下 [ 確定]

    • 按一下 [是]

備份 Search Service 應用程式資料庫

  1. 使用屬於每個資料庫儲存所在之資料庫伺服器上 SQL Server db_backupoperator 固定資料庫角色成員的帳戶。

  2. 啟動 SQL Server Management Studio,並連接至儲存 Search Service 應用程式資料庫的資料庫伺服器。

  3. 在 [物件總管] 中,展開 [資料庫]

  4. 在要備份的資料庫上按一下滑鼠右鍵,並指向 [工作],然後按一下 [備份]

  5. 在 [ 備份資料庫 ] 對話方塊的 [ 來源 ] 區域中,從 [備份類型] 清單中選取您想要執行的 備份類型

    如需應使用何種備份類型的詳細資訊,請參閱復原模式 (SQL Server)

  6. 在 [備份元件] 區域中,按一下 [資料庫]

  7. 在 [名稱] 方塊中,使用預設名稱,或指定備份組的名稱。

  8. 指定備份組的到期日。

    這個日期會決定具有相同名稱的後續備份何時可以覆寫備份組。 根據預設,備份組會設為永不過期 (0 天)。

  9. 在 [目的地] 區域中,指定您要儲存備份的位置。

  10. 按一下 [確定] 備份資料庫。

  11. 針對下列資料庫重複步驟 1-10:

    • 搜尋管理

    • 分析報告

    • 編目

    • 連結

在主控 SQL Server 的新伺服器中將平行處理原則的最大程度值設為 1

  1. 啟動 SQL Server Management Studio,並連接至主控 SQL Server (將要移動 Search Service 應用程式資料庫) 的新伺服器。

  2. 在 [物件總管] 中,以滑鼠右鍵按一下資料庫伺服器,然後按一下 [屬性]

  3. 按一下 [進階]

  4. 在 [平行處理原則的最大程度] 方塊中,選取 1,以限制在平行計劃執行中使用的處理器數目。

    如需詳細資訊,請參閱設定平行處理原則的最大程度伺服器設定選項

將 Search Service 應用程式資料庫還原至新資料庫伺服器

  1. 使用屬於每個資料庫儲存所在之資料庫伺服器上 SQL Server sysadmin 固定伺服器角色成員的帳戶。

  2. 啟動 SQL Server Management Studio 並連線至資料庫伺服器。

  3. 在 [物件總管] 中,展開 [資料庫]

  4. 以滑鼠右鍵按一下要還原的資料庫,並依序指向 [工作] 及 [還原],然後按一下 [資料庫]

  5. 在 [ 還原資料庫 ] 對話方塊的 [ 一般 ] 頁面上,從 [至資料庫] 清單中選取要還原 的資料庫

  6. 從 [從資料庫] 清單中選取還原的來源位置。

  7. 在 [選取要還原的備份集] 區域中,選取資料庫旁的核取方塊。

  8. 在 [選項] 索引標籤上,選取 [還原狀態] 區段的還原狀態。

    如需該使用哪種復原類型的詳細資訊,請參閱《SQL Server 線上叢書》的復原模式 (SQL Server)

  9. 按一下 [確定] 還原資料庫。

  10. 針對與服務應用程式相關聯的每個資料庫重複步驟 1-9。

將 Search Service 應用程式資料庫設為讀寫模式

  1. 遵循變更 Search Service 應用程式資料庫的唯讀模式中的步驟進行。

使用 PowerShell 將 Search Service 應用程式指向已移動的資料庫

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

  2. 將 Search Service Application 資料庫指向新位置。 在 PowerShell 命令提示字元處,輸入下列命令:

    $ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName>
    $ssa | Set-SPEnterpriseSearchServiceApplication [-DatabaseName "<NewDbName>"] -DatabaseServer "<NewServerName>"
    

    其中:

    • <NewDbName> 是資料庫的名稱。

    • <NewServerName> 是新的資料庫位置。

  3. 將 Analytics 報告資料庫指向新位置。 在 PowerShell 命令提示字元處,輸入下列命令:

    Add-SPServerScaleOutDatabase -ServiceApplication $ssa -DatabaseServer <OriginalServerName> [-DatabaseName <NewDbName>]
    $temp = Get-SPServerScaleOutDatabase -ServiceApplication $ssa
    Remove-SPServerScaleOutDatabase -Database $temp[0] -ServiceApplication $ssa
    

    其中:

    • < OriginalServerName >是原始 SQL 伺服器的名稱。
  4. 將 CrawlStore 資料庫指向新的位置。 在 PowerShell 命令提示字元處,輸入下列命令:

    $CrawlDatabase0 = ([array]($ssa | Get-SPEnterpriseSearchCrawlDatabase))[0]
    $CrawlDatabase0 | Set-SPEnterpriseSearchCrawlDatabase [-DatabaseName "<NewDbName>"] -DatabaseServer "<NewServerName>"
    
  5. 將 LinkStore 資料庫指向新位置。 在 PowerShell 命令提示字元處,輸入下列命令:

    $LinksDatabase0 = ([array]($ssa | Get-SPEnterpriseSearchLinksDatabase))[0]
    $LinksDatabase0 | Set-SPEnterpriseSearchLinksDatabase [-DatabaseName "<NewDbName>"] -DatabaseServer "<NewServerName>"
    
  6. 將所有搜尋服務實例設定為 Online。 針對伺服器陣列中的每個搜尋服務執行下列命令,直到將搜尋服務實例回報為 Online 為止。 在 PowerShell 命令提示字元處,輸入下列命令:

    Get-SPEnterpriseSearchServiceInstance -Identity <Search Server> Do {write-host -NoNewline .;Sleep 10; $searchInstance = Get-SPEnterpriseSearchServiceInstance -Identity <Search Server>} while ($searchInstance.Status -ne "Online")
    

    其中< Search Server >是裝載搜尋元件的伺服器名稱。

  7. 繼續執行 Search Service 應用程式。 在 PowerShell 命令提示字元處,輸入下列命令:

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

    其中< SearchServiceApplicationName >是與資料庫移動相關聯之搜尋服務應用程式的名稱。

  8. 重新啟動主控搜尋元件的每一部伺服器。

在 SharePoint Server 2019 中移動或重新命名 Search Service 應用程式資料庫的步驟

若要移動搜尋服務應用程式資料庫,您必須使用 SQL Server、SQL Server Management Studio 和 Windows 檔案總管。 若要指向移動的資料庫,您必須使用 PowerShell。 請依照所列示的順序完成下列步驟。

重要事項:

您用來執行作業的帳戶皆必須具有下列成員資格和權限:

  • 伺服器陣列管理員 SharePoint 群組的成員。

  • 本機伺服器上系統管理員群組的成員。

  • 來源位置的讀取權限,以及目標位置的寫入權限。

  • 您要移動之所有資料庫的 db_owner 固定資料庫角色。

  • 您要移動之所有資料庫的 db_creatorsecurityadmin 角色。

Search Service 帳戶必須具有下列角色:

  • 管理、連結及編目資料庫的 db_owner 固定資料庫角色。

  • 分析報告資料庫的 SPSearchDBAdmin 資料庫角色。

在某些環境中,您必須與資料庫管理員協調重新命名和移動程序。 請務必遵循所有適用於管理資料庫的原則和準則。

使用 PowerShell 來暫停 Search Service 應用程式

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

  2. 在 PowerShell 命令提示字元中,輸入下列命令:

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

    其中< SearchServiceApplicationName >是與資料庫移動相關聯之搜尋服務應用程式的名稱。

變更 Search Service 應用程式資料庫的唯讀模式

  1. 使用屬於內容資料庫 db_owner 固定資料庫角色成員的帳戶。

  2. 開啟 SQL Server Management Studio 並連線至資料庫伺服器。

  3. 在 [物件總管] 中,展開 [資料庫]

  4. 將下列資料庫設為唯讀模式:

    • 搜尋管理

    • 分析報告

    • 編目

    • 連結

    • 以滑鼠右鍵按一下您要設為讀寫或唯讀模式的資料庫,然後按一下 [屬性]

    • 在 [ 資料庫屬性] 對話方塊的 [ 選項 屬性] 頁面的 [ 狀態 ] 區段中,選取 [資料庫唯讀] 旁清單中的 [ True ] 或 [ False ],然後按一下 [ 確定]

    • 按一下 [是]

備份 Search Service 應用程式資料庫

  1. 使用屬於每個資料庫儲存所在之資料庫伺服器上 SQL Server db_backupoperator 固定資料庫角色成員的帳戶。

  2. 啟動 SQL Server Management Studio,並連接至儲存 Search Service 應用程式資料庫的資料庫伺服器。

  3. 在 [物件總管] 中,展開 [資料庫]

  4. 在要備份的資料庫上按一下滑鼠右鍵,並指向 [工作],然後按一下 [備份]

  5. 在 [ 備份資料庫 ] 對話方塊的 [ 來源 ] 區域中,從 [備份類型] 清單中選取您想要執行的 備份類型

    如需應使用何種備份類型的詳細資訊,請參閱復原模式 (SQL Server)

  6. 在 [備份元件] 區域中,按一下 [資料庫]

  7. 在 [名稱] 方塊中,使用預設名稱,或指定備份組的名稱。

  8. 指定備份組的到期日。

    這個日期會決定具有相同名稱的後續備份何時可以覆寫備份組。 根據預設,備份組會設為永不過期 (0 天)。

  9. 在 [目的地] 區域中,指定您要儲存備份的位置。

  10. 按一下 [確定] 備份資料庫。

  11. 針對下列資料庫重複步驟 1-10:

    • 搜尋管理

    • 分析報告

    • 編目

    • 連結

在主控 SQL Server 的新伺服器中將平行處理原則的最大程度值設為 1

  1. 啟動 SQL Server Management Studio,並連接至主控 SQL Server (將要移動 Search Service 應用程式資料庫) 的新伺服器。

  2. 在 [物件總管] 中,以滑鼠右鍵按一下資料庫伺服器,然後按一下 [屬性]

  3. 按一下 [進階]

  4. 在 [平行處理原則的最大程度] 方塊中,選取 1,以限制在平行計劃執行中使用的處理器數目。

    如需詳細資訊,請參閱設定平行處理原則的最大程度伺服器設定選項

將 Search Service 應用程式資料庫還原至新資料庫伺服器

  1. 使用屬於每個資料庫儲存所在之資料庫伺服器上 SQL Server sysadmin 固定伺服器角色成員的帳戶。

  2. 啟動 SQL Server Management Studio 並連線至資料庫伺服器。

  3. 在 [物件總管] 中,展開 [資料庫]

  4. 以滑鼠右鍵按一下要還原的資料庫,並依序指向 [工作] 及 [還原],然後按一下 [資料庫]

  5. 在 [ 還原資料庫 ] 對話方塊的 [ 一般 ] 頁面上,從 [至資料庫] 清單中選取要還原 的資料庫

  6. 從 [從資料庫] 清單中選取還原的來源位置。

  7. 在 [選取要還原的備份集] 區域中,選取資料庫旁的核取方塊。

  8. 在 [選項] 索引標籤上,選取 [還原狀態] 區段的還原狀態。

    如需該使用哪種復原類型的詳細資訊,請參閱《SQL Server 線上叢書》的復原模式 (SQL Server)

  9. 按一下 [確定] 還原資料庫。

  10. 針對與服務應用程式相關聯的每個資料庫重複步驟 1-9。

將 Search Service 應用程式資料庫設為讀寫模式

  1. 遵循變更 Search Service 應用程式資料庫的唯讀模式中的步驟進行。

使用 PowerShell 將 Search Service 應用程式指向已移動的資料庫

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

    注意事項

    這些指示假設您將針對所有命令使用相同的 PowerShell 會話。

  2. 在 PowerShell 命令提示字元中,輸入下列命令,將搜尋管理資料庫與搜尋服務建立關聯。

     $ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplication>
     $ssa | Set-SPEnterpriseSearchServiceApplication -DatabaseName <SearchAdministrationServiceDatabase> -DatabaseServer <SearchServiceDatabaseServer>
    

    其中:

    • < SearchServiceApplication >是與資料庫相關聯搜尋服務應用程式的名稱。

    • < SearchAdministrationServiceDatabase >是搜尋服務應用程式管理資料庫的名稱。

    • < SearchServiceDatabaseServer >是裝載搜尋服務應用程式資料庫的新 databse 伺服器名稱。

  3. 在 PowerShell 命令提示字元中,輸入下列命令,將搜尋分析資料庫與搜尋服務產生關聯。

    Add-SPServerScaleOutDatabase -ServiceApplication $ssa -DatabaseServer <SearchServiceDatabaseServer> -DatabaseName <SearchServiceAnalyticsDatabase>
    $temp = Get-SPServerScaleOutDatabase -ServiceApplication $ssa
    Remove-SPServerScaleOutDatabase -ServiceApplication $ssa -Database $temp[0]
    

    其中:

    • < SearchServiceAnalyticsDatabase >是搜尋服務應用程式分析資料庫的名稱。

    • < SearchServiceDatabaseServer >是裝載搜尋服務應用程式資料庫的新 databse 伺服器名稱。

  4. 在 PowerShell 命令提示字元中,輸入下列命令,將搜尋編目資料庫與搜尋服務產生關聯。

    New-SPEnterpriseSearchCrawlDatabase -SearchApplication $ssa -DatabaseName <SearchServiceCrawlDatabase> -DatabaseServer <SearchServiceDatabaseServer>
    $crawlDBToDelete = $ssa | Get-SPEnterpriseSearchCrawlDatabase -Identity "<OldCrawlStoreDatabase>"
    Remove-SPEnterpriseSearchCrawlDatabase -Identity $crawlDBToDelete
    

    其中:

    • < SearchServiceCrawlDatabase >是搜尋服務應用程式編目資料庫的名稱。

    • < SearchServiceDatabaseServer >是裝載搜尋服務應用程式資料庫的新 databse 伺服器名稱。

    • < OldCrawlStoreDatabase >是舊搜尋服務應用程式編目資料庫的名稱。

  5. 在 PowerShell 命令提示字元中,輸入下列命令,將 Search Links 資料庫與搜尋服務建立關聯。

    New-SPEnterpriseSearchLinksDatabase -DatabaseName <SearchServiceLinksDatabase> -SearchApplication $ssa -DatabaseServer <SearchServiceDatabaseServer>
    $oldLinksStoreDB = ([array]($ssa | Get-SPEnterpriseSearchLinksDatabase))[0]
    $newLinksStoreDB = ([array]($ssa | Get-SPEnterpriseSearchLinksDatabase))[1]
    Move-SPEnterpriseSearchLinksDatabases -SearchApplication $ssa -TargetStores @($newLinksStoreDB) -Confirm:$false
    

    其中:

    • < SearchServiceLinksDatabase >是搜尋服務應用程式連結資料庫的名稱。

    • < SearchServiceDatabaseServer >是裝載搜尋服務應用程式資料庫的新資料庫伺服器名稱。

  6. 在 PowerShell 命令提示字元中,輸入下列命令以繼續搜尋服務應用程式。

    Resume-SPEnterpriseSearchServiceApplication -Identity $ssa
    
  7. 在 PowerShell 命令提示字元中,輸入下列命令以從搜尋服務中移除舊的 Search Links 資料庫。

    Remove-SPEnterpriseSearchLinksDatabase -Identity $oldLinksStoreDB -SearchApplication $ssa -Confirm:$false
    

    其中:

    • $oldLinksStoreDB 是步驟 5 中的變數。

另請參閱

概念

移動 SharePoint Server 中的所有資料庫