MOSS 如何將 Configure 資料庫遷移到新的 SQL Server
本文件說明如何將 MOSS Server 的資料庫, 主要目的是遷移 Configure 資料庫到新的 SQL Server 上.
適用: WSS 3.0, MOSS 2007.
需求狀況:
1. 原本安裝於 MOSS Farm 的資料庫角色因為效能上有所限制, 需要移機到新的主機.
2. 照微軟的官方技術支援文件: KB948725 - Restoration of the configuration database by using the built-in backup and restore functionality is not supported in SharePoint Server 2007 or in Windows SharePoint Services 3.0, http://support.microsoft.com/kb/948725/en-us, 說明還原 Configuration 資料庫會造成未預期的錯誤, 所以使用 SQL Server 本身的備份還源方式來還原 Configuration 資料庫是不受支援的. 因此要遷移到 Configuration 新的資料庫需要先建立一個新的 MOSS Farm.
3. 在小型或簡單的 MOSS Farm 重新建立一個 Farm 並不會太困難, 但是如果原本運作的 MOSS 有許多的客製化, 重新建立一個 MOSS Farm 可能會曠日廢時, 甚至因為沒有詳細記載過去的客製化佈署步驟, 無從建立起相同的環境.
有沒有方法可以不需要重先建立 MOSS Farm 來遷移 Configuration 資料庫呢? 其實是有的, 方法大致如下:
SharePoint STSADM.EXE 程式中有一個 RenameServer 的指令, 可以幫我們更改伺服器名稱, 所以我們可以利用 SQL Alias 的設定來更改所連線的 SQL Server 的名稱, 將 Connection 導向新的 SQL Server 主機上, 如此便可以完成我們所需要的遷移目的.
不過這個方法不適用於單機(Standalone)安裝的 MOSS Server.
另外還有一種佈署是將獨立的 SQL Server Instance 裝在 MOSS Server 上的 MOSS Farm 架構, 則需要另一台主機來把 WFE 角色抽離才行, 因為 DB 角色和 WFE 角色無法使用 RenameServer 指令來修改.
以下是將 Configure 資料庫遷移到新的 SQL Server 步驟:
- 需求:
- 檢查目前資料庫名稱
- 記錄目前 Configuration 資料庫名稱
- 紀錄目前所有需要搬移的 Web Application 所對應的內容資料庫
- 記錄共用服務資料庫, 包括 Search 資料庫名稱
- 記錄 WSS Search 資料庫名稱
- 本範例中, 對應到 SQL Server 共有 12 個資料庫需要遷移
- 在每一台 MOSS Server 上建立 SQL Alias, 執行 "Cliconfg" 指令叫出 SQL Server Client Network Utility
- 新增一個 SQL Alias, 例如 MOSS-DB, 對應到原來的 SQL Server 名稱
- 執行 STSADM RenameServer 指令 (stsadm -o renameserver -oldservername dc -newservername MOSS-DB), 執行完畢後 Reset IIS (IISRESET)
- 檢查 Servers in Farm, 資料庫已經重新指向 MOSS-DB (其實還在同一台, 只是使用的是 SQL Alias 名稱)
- 將所有 MOSS Server 上的 WSS 相關服務停止, 包括 Office Search 服務, 並執行 IISRESET /STOP 指令
- 在原來的 SQL Server主機上停止 SQL Service
- 將所有的要搬移的 mdf 以及 ldf 複製到新的 SQL Server 主機上
- 在新的 SQL Server 上將 MOSS database access account 加入並指定必要的權限
- 在新的 SQL Server 上掛載所有複製的資料庫
- 修改所有的 MOSS 主機上的 SQL Alias 指向新的資料庫名稱 (如: SHUNLIN-MOAT)
- 啟動所有的 WSS 服務, 包括 Office Search Service
- 重新啟動 Osearch (Sysadm -o osearch -action start)
- IISRESET 後, 開啟頁面並驗證成果