本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

在 SharePoint 2013 中移動內容資料庫

 

適用版本:SharePoint Foundation 2013, SharePoint Server 2013

上次修改主題的時間:2016-12-16

摘要:了解如何在 SharePoint 2013 中移動內容資料庫。

本文說明如何在執行 SQL Server 的伺服器之間、SQL Server 的執行個體之間,或 SharePoint 2013 Web 應用程式之間移動內容資料庫。

重要事項 重要事項:
本文僅說明如何移動內容資料庫。如需如何移動與 SharePoint 2013 關聯之其他種類資料庫的詳細資訊,請參閱<在 SharePoint 2013 中重新命名服務應用程式資料庫>及<移動 SharePoint 2013 中的所有資料庫>。

您可以使用 SharePoint 管理中心網站 或 Windows PowerShell 及 SQL Server 工具移動內容資料庫。您可使用的工具取決於已部署的環境種類、排程的需求,以及您與組織訂定的服務層級協定。

本文內容:

移動內容資料庫的作業開始之前,請先檢閱下列工作。每項工作都是一個程序,必須依照列出的順序來進行。請注意,移動內容資料庫時,必須同時使用 SharePoint 2013 工具及 SQL Server 工具。您可以使用 管理中心 或 Windows PowerShell 3.0 來進行此作業。

  1. 記錄內容資料庫名稱及相關聯的 Web 應用程式。

  2. 暫停針對內容資料庫所執行的任何服務應用程式及服務,包括計時器工作及搜尋編目。

  3. 從 Web 應用程式移除 SharePoint 2013 內容資料庫。

  4. 從目前的 SQL Server 執行個體中卸離內容資料庫。

    重要事項 重要事項:
    若要移動內容資料庫檔案中相同的執行個體SQL Server我們建議您使用ALTER DATABASE陳述式的FILENAME子句。如需詳細資訊,請參閱移動使用者資料庫
    若要將內容資料庫移至另一個執行個體SQL Server或另一部伺服器,我們建議您使用資料庫卸離] 及 [附加 (SQL Server)備份與還原的 SQL Server 資料庫中找到的程序。
  5. 使用 [Windows 檔案總管],將內容資料庫 .mdf, .ndf 及 .ldf 檔案從來源位置複製並移動到目的地位置。

  6. 將內容資料庫附加到新的 SQL Server 執行個體。

  7. 將內容資料庫新增到 SharePoint 2013 中的目的地 Web 應用程式。

    重要事項 重要事項:
    當您新增內容資料庫或 SharePoint 2013 建立新內容資料庫時,請使用相同名稱。
  8. 重新啟動所有您在步驟 2 中暫停的服務應用程式及服務。

注意事項 附註:
因為 SharePoint 2013 在 Internet Information Services (IIS) 中是以網站方式執行,所以管理員及使用者都仰賴瀏覽器提供的協助工具功能。SharePoint 2013 可支援它支援的瀏覽器中的協助工具功能。如需詳細資訊,請參閱下列資源:

使用下列程序,透過 管理中心 在 SharePoint 2013 伺服器陣列中移動內容資料庫。

注意事項 附註:
本節中的程序會使用 管理中心 來移動內容資料庫。不過,執行下列程序時,必須使用正確的工具:
  • 1. 記錄哪些內容資料庫與每個 Web 應用程式關聯 ─ Windows PowerShell

  • 4. 從 SQL Server 卸離內容資料庫 ─ SQL Server 工具

  • 5. 將內容資料庫移動到新位置 ─ Windows 檔案總管

  • 6. 將內容資料庫附加到新的 SQL Server 執行個體 ─ SQL Server 工具

注意事項 附註:
本節中的程序會使用 管理中心 來移動內容資料庫。不過,第一個程序必須使用 Windows PowerShell 執行。
注意事項 附註:
如果您要將內容資料庫移到不同的伺服器陣列,必須在還原過程中將伺服器陣列帳戶設成資料庫伺服器上管理員群組的成員。這允許帳戶複製資料庫的安全性設定。這個存取權層次可以在移動內容資料庫後移除。如需詳細資訊,請參閱<SharePoint 2013 中的帳戶權限及安全性設定>。
目的地伺服器陣列必須執行與來源伺服器陣列執行之 SharePoint 2013 相同的版本,或是更新的版本。
1. 記錄哪些內容資料庫與每個 Web 應用程式關聯
  1. 確認您具備下列成員資格:

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

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

    • 執行 Windows PowerShell Cmdlet 之伺服器上的管理員群組。

    • 目的地伺服器上的 dbcreatorsecurityadmin 固定伺服器角色,以便附加資料庫和設定 SQL Server 登入。

    管理員可以使用 Add-SPShellAdmin Cmdlet 來授與使用 SharePoint 2013 Cmdlet 的權限。

    注意事項 附註:
    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 Windows PowerShell 權限的其他資訊,請參閱<Add-SPShellAdmin>。
  2. 啟動 SharePoint 2013 管理命令介面。

    • 若為 Windows Server 2008 R2:

      • 在 [開始] 功能表上,依序按一下 [所有程式]、[Microsoft SharePoint 2013 產品] 及 [SharePoint 2013 管理命令介面]。

    • 若為 Windows Server 2012:

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

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

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

    如需如何與Windows Server 2012互動的詳細資訊,請參閱 <常見管理工作及 Windows Server 2012 中的導覽

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

    Get-SPContentDatabase -WebApplication <http://SiteName>
    

    其中:

    • <http://SiteName> 是 Web 應用程式的 URL。

    注意事項 附註:
    建議您在執行命令列管理工作時使用 Windows PowerShell。Stsadm 命令列工具已過時,但為與舊版產品相容,仍會隨附提供。
2. 使用 管理中心 暫停計時器工作
  1. 確認執行此程序的使用者帳戶為 SharePoint 伺服器陣列管理員群組的成員。

  2. 在 管理中心 的 [監控] 區段中,按一下 [檢查工作狀態]。

  3. 對於每個針對您要移動的內容資料庫所執行的排程工作,按一下該工作以開啟 [編輯計時器工作] 頁面,按一下 [停用],然後按一下 [確定]。

3. 使用 管理中心 從 Web 應用程式卸離內容資料庫
  1. 確認執行此程序的使用者帳戶為 SharePoint 伺服器陣列管理員群組的成員。

  2. 在 管理中心 的 [應用程式管理] 區段中,按一下 [管理內容資料庫]。

  3. 在 [管理內容資料庫] 頁面上,按一下您要移動的內容資料庫。

    [管理內容資料庫設定] 頁面隨即開啟。

    注意事項 附註:
    如果清單中未顯示內容資料庫,表示它可能與其他的 Web 應用程式相關聯。若要選取其他 Web 應用程式,請按一下 [Web 應用程式] 功能表上的 [變更 Web 應用程式]。
  4. 在 [管理內容資料庫設定] 頁面上的 [移除內容資料庫] 區段中,選取 [移除內容資料庫] 核取方塊,然後按一下 [確定]。

    注意事項 附註:
    移除內容資料庫不會刪除該資料庫,只會移除資料庫與 Web 應用程式相關聯的部分。
  5. 對每一個要移動的內容資料庫重複步驟 3 和 4。

4. 從 SQL Server 卸離內容資料庫
  1. 確認執行此程序的使用者帳戶是儲存各資料庫之資料庫伺服器上的 db_owner 固定資料庫角色成員。

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

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

    注意事項 附註:
    只能使用此程序移動內容資料庫。請勿卸離其他種類的資料庫。
5. 將內容資料庫移至新位置
  1. 確認執行此程序的使用者帳戶具有來源及目的地資料夾的寫入權限。

  2. 使用 [Windows 檔案總管] 找出內容資料庫的 .mdf, .ldf 和 .ndf 檔案。

  3. 選取要移動之資料庫的 .mdf, .ldf 和 .ndf 檔案,然後將其複製或移往目的地目錄。

6. 將內容資料庫附加到新的 SQL Server 執行個體
  1. 確認執行此程序的使用者帳戶是儲存各資料庫之資料庫伺服器上的 dbcreator 固定伺服器角色成員。

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

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

  4. 在 [附加資料庫] 對話方塊中,瀏覽至您要轉移 .mdf, .ldf 和 .ndf 檔案的目的位置,針對要附加的資料庫選取 .mdf 檔案,然後按一下 [確定]。

  5. 對每個您要移動的內容資料庫重複此步驟。

7. 使用 管理中心 將內容資料庫附加到 Web 應用程式
  1. 確認執行此程序的使用者帳戶是伺服器陣列管理員群組的成員。

  2. 在 管理中心 的 [應用程式管理] 區段中,按一下 [管理內容資料庫]。

  3. 在 [管理內容資料庫] 頁面上,按一下 [新增內容資料庫]。

  4. 在 [新增內容資料庫] 頁面上,確認 [Web 應用程式] 功能表顯示正確的 Web 應用程式。

  5. 在 [伺服器] 方塊中,指定主控資料庫的資料庫伺服器。

  6. 在 [資料庫名稱] 方塊中,輸入轉移的內容資料庫完全相同的名稱。

    注意事項 附註:
    請確認名稱是否正確。如果不正確,將會建立新資料庫。
  7. 請指定資料庫的驗證方法,然後按一下 [確定]。

  8. 對您要新增的每個資料庫重複這些步驟。請確定您為每個資料庫從 [Web 應用程式] 功能表選取正確的 Web 應用程式。

8. 使用 管理中心 重新啟動計時器工作
  1. 確認執行此程序的使用者帳戶是伺服器陣列管理員群組的成員。

  2. 在 管理中心 的 [監控] 區段中,按一下 [檢查工作狀態]。

  3. 對於每個之前停用的排程工作,按一下該工作以開啟 [編輯計時器工作] 頁面,按一下 [啟用],然後按一下 [確定]。

使用下列程序,透過 Windows PowerShell 在 SharePoint 2013 伺服器陣列中移動內容資料庫。

注意事項 附註:
本節中的程序會使用 Windows PowerShell 來移動內容資料庫。不過,執行下列程序時,必須使用正確的工具:
  • 4. 從 SQL Server 卸離內容資料庫 ─ SQL Server 工具

  • 5. 將內容資料庫移動到新位置 ─ Windows 檔案總管

  • 6. 將內容資料庫附加到新的 SQL Server 執行個體 ─ SQL Server 工具

注意事項 附註:
如果您要將內容資料庫移到不同的伺服器陣列,必須在還原過程中將伺服器陣列帳戶設成資料庫伺服器上管理員群組的成員。這允許帳戶複製資料庫的安全性設定。這個存取權層次可以在移動內容資料庫後移除。
目的地伺服器陣列必須執行與來源伺服器陣列執行之 SharePoint 2013 相同的版本,或是更新的版本。
1. 記錄哪些內容資料庫與每個 Web 應用程式關聯
  1. 確認您具備下列成員資格:

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

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

    • 執行 Windows PowerShell Cmdlet 之伺服器上的管理員群組。

    • 目的地伺服器上的 dbcreatorsecurityadmin 固定伺服器角色,以便附加資料庫和設定 SQL Server 登入。

    管理員可以使用 Add-SPShellAdmin Cmdlet 來授與使用 SharePoint 2013 Cmdlet 的權限。

    注意事項 附註:
    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 Windows PowerShell 權限的其他資訊,請參閱<Add-SPShellAdmin>。
  2. 在 [開始] 功能表上,按一下 [所有程式]。

  3. 按一下 [Microsoft SharePoint 2013 產品]。

  4. 按一下 [SharePoint 2013 管理命令介面]。

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

    Get-SPContentDatabase -WebApplication <http://SiteName>
    

    其中:

    • <http://SiteName> 是 Web 應用程式的 URL。

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

注意事項 附註:
建議您在執行命令列管理工作時使用 Windows PowerShell。Stsadm 命令列工具已過時,但為與舊版產品相容,仍會隨附提供。
2. 使用 Windows PowerShell 暫停計時器工作
  1. 確認您具備下列成員資格:

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

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

    • 執行 Windows PowerShell Cmdlet 之伺服器上的管理員群組。

    • 目的地伺服器上的 dbcreatorsecurityadmin 固定伺服器角色,以便附加資料庫和設定 SQL Server 登入。

    管理員可以使用 Add-SPShellAdmin Cmdlet 來授與使用 SharePoint 2013 Cmdlet 的權限。

    注意事項 附註:
    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 Windows PowerShell 權限的其他資訊,請參閱<Add-SPShellAdmin>。
  2. 在 [開始] 功能表上,按一下 [所有程式]。

  3. 按一下 [Microsoft SharePoint 2013 產品]。

  4. 按一下 [SharePoint 2013 管理命令介面]。

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

    Get-SPTimerJob -webapplication <http://WebApplicationURL> | select name | Out-File <c:\timerjobfile.txt> -Append -Encoding ascii
    
    ForEach($tmrjob in (Get-Content <c:\timerjobfile.txt>)) { Get-SPTimerJob -Identity $tmrjob | Disable-SPTimerjob }
    
    

    其中:

    • <http://WebApplicationURL> 是與您要移動之內容資料庫關聯的 Web 應用程式。

    • <c:\timerjobfile.txt> 是您要建立含有與 Web 應用程式關聯之所有計時器工作的檔案位置。

如需詳細資訊,請參閱Get-SPTimerJobOut-fileForeach-objectGet-content,以及Disable-SPTimerJob

注意事項 附註:
建議您在執行命令列管理工作時使用 Windows PowerShell。Stsadm 命令列工具已過時,但為與舊版產品相容,仍會隨附提供。
3. 使用 Windows PowerShell 從 Web 應用程式卸離內容資料庫
  1. 確認您具備下列成員資格:

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

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

    • 執行 Windows PowerShell Cmdlet 之伺服器上的管理員群組。

    • 目的地伺服器上的 dbcreatorsecurityadmin 固定伺服器角色,以便附加資料庫和設定 SQL Server 登入。

    管理員可以使用 Add-SPShellAdmin Cmdlet 來授與使用 SharePoint 2013 Cmdlet 的權限。

    注意事項 附註:
    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 Windows PowerShell 權限的其他資訊,請參閱<Add-SPShellAdmin>。
  2. 在 [開始] 功能表上,按一下 [所有程式]。

  3. 按一下 [Microsoft SharePoint 2013 產品]。

  4. 按一下 [SharePoint 2013 管理命令介面]。

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

    Dismount-SPContentDatabase "<ContentDB>"
    

    其中:

    • <ContentDB> 是內容資料庫的名稱。

    注意事項 附註:
    如果有多個內容資料庫具有相同的名稱,在此命令中就必須使用內容資料庫 GUID,而非使用內容資料庫名稱。若要擷取內容資料庫的 GUID,請執行 Get-SPContentDatabase cmdlet,並且不加任何引數。

    如需詳細資訊,請參閱<Dismount-SPContentDatabase>和<Get-SPContentDatabase>。

    注意事項 附註:
    建議您在執行命令列管理工作時使用 Windows PowerShell。Stsadm 命令列工具已過時,但為與舊版產品相容,仍會隨附提供。
4. 從 SQL Server 卸離內容資料庫
  1. 確認執行此程序的使用者帳戶是儲存各資料庫之資料庫伺服器上的 db_owner 固定資料庫角色成員。

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

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

    注意事項 附註:
    只能使用此程序移動內容資料庫。請勿卸離其他種類的資料庫。
5. 將內容資料庫移至新位置
  1. 確認執行此程序的使用者帳戶具有來源及目的地資料夾的寫入權限。

  2. 使用 [Windows 檔案總管] 找出內容資料庫的 .mdf, .ldf 和 .ndf 檔案。

  3. 選取要移動之資料庫的 .mdf, .ldf 和 .ndf 檔案,然後將其複製或移往目的地目錄。

6. 將內容資料庫附加到新的 SQL Server 執行個體
  1. 確認執行此程序的使用者帳戶是儲存各資料庫之資料庫伺服器上的 dbcreator 固定伺服器角色成員。

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

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

  4. 在 [附加資料庫] 對話方塊中,瀏覽至您要轉移 .mdf, .ldf 和 .ndf 檔案的目的位置,針對要附加的資料庫選取 .mdf 檔案,然後按一下 [確定]。

  5. 對每個您要移動的內容資料庫重複此步驟。

7. 使用 Windows PowerShell 從 Web 應用程式附加內容資料庫
  1. 確認您具備下列成員資格:

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

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

    • 執行 Windows PowerShell Cmdlet 之伺服器上的管理員群組。

    • 目的地伺服器上的 dbcreatorsecurityadmin 固定伺服器角色,以便附加資料庫和設定 SQL Server 登入。

    管理員可以使用 Add-SPShellAdmin Cmdlet 來授與使用 SharePoint 2013 Cmdlet 的權限。

    注意事項 附註:
    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 Windows PowerShell 權限的其他資訊,請參閱<Add-SPShellAdmin>。
  2. 在 [開始] 功能表上,按一下 [所有程式]。

  3. 按一下 [Microsoft SharePoint 2013 產品]。

  4. 按一下 [SharePoint 2013 管理命令介面]。

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

    Mount-SPContentDatabase "<ContentDB>" -DatabaseServer "<DBServer>" -WebApplication <http://SiteName>
    

    其中:

    • <ContentDB> 是要附加的內容資料庫的名稱。

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

    • <http://網站名稱> 是要附加內容資料庫之 Web 應用程式的 URL。

    如需詳細資訊,請參閱<Dismount-SPContentDatabase>。

    注意事項 附註:
    建議您在執行命令列管理工作時使用 Windows PowerShell。Stsadm 命令列工具已過時,但為與舊版產品相容,仍會隨附提供。
8. 使用 Windows PowerShell 重新啟動計時器工作
  1. 確認您具備下列成員資格:

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

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

    • 執行 Windows PowerShell Cmdlet 之伺服器上的管理員群組。

    • 目的地伺服器上的 dbcreatorsecurityadmin 固定伺服器角色,以便附加資料庫和設定 SQL Server 登入。

    管理員可以使用 Add-SPShellAdmin Cmdlet 來授與使用 SharePoint 2013 Cmdlet 的權限。

    注意事項 附註:
    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 Windows PowerShell 權限的其他資訊,請參閱<Add-SPShellAdmin>。
  2. 在 [開始] 功能表上,按一下 [所有程式]。

  3. 按一下 [Microsoft SharePoint 2013 產品]。

  4. 按一下 [SharePoint 2013 管理命令介面]。

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

    ForEach($tmrjob in (Get-Content <c:\timerjobfile.txt>)) {Get-SPTimerJob -Identity $tmrjob | Enable-SPTimerjob}
    
    

    其中:

    • <c:\timerjobfile.txt> 是您要建立含有與 Web 應用程式關聯的所有計時器工作的檔案位置。

    如需詳細資訊,請參閱Get-SPTimerJobForeach-objectGet-contentEnable-SPTimerJob

    注意事項 附註:
    建議您在執行命令列管理工作時使用 Windows PowerShell。Stsadm 命令列工具已過時,但為與舊版產品相容,仍會隨附提供。

https://technet.microsoft.com/zh-tw/library/ff607892.aspx
顯示: