SQL Server 2005 複寫功能增強,支援異地高可用同步。成功關鍵在於**權限與網路前置作業**完備。本文提供從環境準備到發行/訂閱建立的完整檢核清單與操作步驟。
| # | 項目 | 操作步驟 | 驗收 |
|---|---|---|---|
| 1 | 同名 Windows 帳號 | 控制台 → 管理工具 → 電腦管理 → 使用者 → 新增 → 加入 Administrators 群組 | 雙邊帳號/密碼完全一致 |
| 2 | 快照共享資料夾 | 發行者建立資料夾 (如 D:\PUB) → 右鍵共享 → 權限給第 1 步帳號「完整控制」 | 訂閱者可 `\\發行者\PUB` 讀寫 |
| 3 | SQL Agent 服務啟動帳號 | 服務 → SQLSERVERAGENT → 登入 → 此帳號 → 輸入第 1 步帳號/密碼 | 服務正常啟動 |
| 4 | 驗證模式 | 企業管理器/SSMS → 伺服器屬性 → 安全性 → SQL Server 和 Windows 驗證模式 | 雙邊均為混合模式 |
| 5 | 互相註冊伺服器 | 企業管理器 → 右鍵 SQL Server 群組 → 新增註冊 → 輸入遠端名稱 → SQL 驗證 (sa/密碼) | 雙邊在對方群組中可見 |
| 6 | 伺服器別名 (僅 IP 連線) | 用戶端網路工具 → 別名 → 加入 → TCP/IP → 別名=SQL名稱、伺服器名稱=IP | 用別名可連線 |
| 7 | 防火牆/網路 | 開放 1433 (或自訂埠) + 135/445 (RPC/檔案共享) + MSDTC 埠範圍 | Telnet 通、Ping 通 |
| 8 | 網路協議 | SQL Server 組態管理器 → 啟用 TCP/IP、Named Pipes → 重啟服務 | 協議狀態「已啟用」 |
| 9 | 建立資料庫登入對應 Windows 帳號 | 安全性 → 登入 → 新增 → 對應 Windows 帳號 → 對應資料庫 dbo_owner + public | 登入成功、權限正確 |
同樣在發行者端「本地發行集」右鍵 → 「新增訂閱」→ 選訂閱者 → 推送訂閱。適用發行者集中控制排程場景。
| 現象 | 可能原因 | 排查動作 |
|---|---|---|
| 快照代理失敗 | 共享資料夾權限不足/路徑錯誤 | 用 Agent 帳號測試 `\\Server\PUB` 讀寫 |
| 散發代理/合併代理失敗 | 連結伺服器/登入失敗 | 檢查訂閱者登入帳號、密碼、連結伺服器設定 |
| 訂閱者無資料 | 文章篩選條件錯誤/未勾選表 | 重新檢視發行集文章設定、重新產生快照 |
| MSDTC 錯誤 | 分散式交易未啟用/防火牆阻擋 | 元件服務 → 啟用網路 DTC 存取、允許輸入/輸出 |
| 效能差 | 快照過大/頻率過高 | 改用交易複寫、篩選必要欄位/列、調整排程 |
複寫「三分技術、七分環境」。**清單式前置驗收**是成功關鍵:同名帳號、共享權限、Agent 帳號、混合驗證、防火牆、MSDTC。快照複寫適合入門驗證;生產核心業務建議交易複寫,配合延遲監控與記錄檔管理。