SPS 2003 (SharePoint Portal Server 2003) 早已停止支援,但部分企業仍因歷史系統運行其上。本文記錄一次真實遷移案例:物理機 → 虛擬機、同步升級 SQL Server 2000 → 2005、解決區域建立失敗、管理介面顯示英文等遺留問題。提供可複現的標準化步驟與關鍵決策點。
| 項目 | 現狀 | 目標 | 決策依據 |
|---|---|---|---|
| 作業系統 | Windows Server 2003 (物理) | Windows Server 2003 (虛擬機) | 應用相容性、虛擬化彈性 |
| 資料庫 | SQL Server 2000 SP4 | SQL Server 2005 SP3+ | 安全性支援、效能、功能 (XML、DMV、鏡像) |
| SPS 版本 | SPS 2003 + 所有修補程式 | 同版本 + 同修補程式 | 避免版本不匹配導致還原失敗 |
| 網域 | 加入現有 AD 網域 | 同網域 | 保留使用者/群組 SID、權限無縫遷移 |
-- 使用 SPS 2003 內建備份工具 (stsadm -o backup)
stsadm -o backup -url https://source-portal -filename D:\SPS_Backup\portal_backup.dat -overwrite
stsadm -o backup -url https://source-wss -filename D:\SPS_Backup\wss_backup.dat -overwrite
-- 複製備份檔至目標機 D:\SPS_Backup\
stsadm -o restore -url https://target-portal -filename D:\SPS_Backup\portal_backup.dat -overwrite
stsadm -o restore -url https://target-wss -filename D:\SPS_Backup\wss_backup.dat -overwrite
| 問題 | 根因 | 解決 |
|---|---|---|
| 無法建立區域 | SQL 2000 → 2005 升級後,`proc_CreateArea` 預存程式邏輯相容性問題 | 升級後執行 `stsadm -o upgrade -forceupgrade` 重建系統預存程式 |
| 管理介面顯示英文 | 語言包未正確遷移/註冊 | 確認 `12\TEMPLATE\LAYOUTS\1028` (繁中) / `2052` (簡中) 目錄存在,重新部署語言包 |
| 還原失敗「網站不存在」 | 未預先建立 IIS 空白網站 | 階段 1 步驟 5 必做 |
| 搜尋爬網報錯 | 索引目錄路徑變更、權限遺失 | 重設索引目錄至 D:\SPS_Index,授權應用程式池身分讀寫 |
| 跨資料庫查詢失效 | Linked Server 定義遺失 | 重建 Linked Server,對應 SQL 2005 實例名稱 |
文中提到:「先升級 SQL 2005 還是先遷移網站沒有先後順序。」
實務建議:先遷移 SPS (含資料庫備份/還原),再升級 SQL。原因:
- SPS 還原依賴 SQL 2000 格式備份檔,SQL 2005 無法直接還原 SPS 2003 原生備份
- 先在 SQL 2000 環境驗證 SPS 功能完整,隔離應用層問題
- 再升級 SQL,問題域縮小至資料庫引擎升級
SPS 2003 遷移升級的核心風險在於 版本號嚴格對齊、IIS 網站預建立、資料庫升級順序、語言包/搜尋索引路徑。遵循「環境建置 → 備份 → DNS 切換 → 還原 → 升級 → 驗證」標準化流程,配合詳細檢查清單,可將遷移風險降至最低。雖技術棧老舊,但專案管理方法論永不過時。