首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

SQL Server 2000 推送資料到 SQL Server 2008 R2 完整複寫配置指南

     編輯:MySQL 資料庫相關知識

跨版本 (SQL 2000 → 2008 R2) 異構複寫,採用「發布/分發/訂閱」架構,以推式訂閱由分發端主動推送至目標端。關鍵點:必須用 SQL Server 2008 R2 Management Studio 連接 SQL 2000 配置訂閱,企業管理器無法連接高版本訂閱端。

架構角色

  • 發布者 (Publisher):SQL 2000 來源資料庫。
  • 分發者 (Distributor):可與發布者同機,儲存交易/快照。
  • 訂閱者 (Subscriber):SQL 2008 R2 目標資料庫。

步驟 1:啟用 SQL Server Agent 並設定服務帳號

  • SQL 2000 企業管理器 → 右鍵 SQL Server Agent → 內容 → 「登入」頁 → 選「此帳號」→ 輸入本地管理員帳號/密碼 (不可用 Local System)。
  • 設為「自動」啟動並啟動服務。

步驟 2:配置分發者 (企業管理器 → 工具 → 精靈 → 「配置發布和分發精靈」)

  • 選「將此伺服器設為自己的分發者」。
  • 快照資料夾:必須用網路路徑 (如 \\SERVERNAME\C$\ReplData),確認 net share 顯示預設共用 C$、D$。
  • 完成後「複寫監視器」出現於企業管理器。

步驟 3:建立發布 (需 SQL 2008 R2 Management Studio 連接 SQL 2000)

  1. SSMS 2008 R2 連接 SQL 2000 (伺服器名稱用電腦名,不可用 IP/(local),驗證模式 SQL Server 驗證)。
  2. 確保發布資料庫「復原模式 = 完整」。
  3. 右鍵「複寫」→「本地發布」→「新建發布」。
  4. 選發布類型:
    • 快照發布:無主鍵表、全量同步、資料量小。
    • 交易發布:必須有主鍵、增量同步、低延遲、資料量大首選。
  5. 選擇發布文章 (表/檢視),不符合類型者會顯示禁止圖示。
  6. 設定快照代理排程 (如每天 02:00)。勾選「立即建立快照」可首次全量推送。

步驟 4:建立推式訂閱

  1. 右鍵發布 →「新建訂閱」→「推式訂閱」。
  2. 「加入 SQL Server 訂閱者」→ 連接 SQL 2008 R2 (同樣用電腦名,SQL 驗證)。
    若跨網段,C:\Windows\System32\drivers\etc\hosts 加入 IP-名稱對應,重啟生效。
  3. 訂閱資料庫:選既有同名庫或新建,登入帳號需 db_owner 權限。
  4. 同步排程:建議在快照代理完成後 10-30 分鐘 (如 02:30)。
  5. 初始化:選「立即」或「首次同步時」。

關鍵坑點修正

完成後訂閱代理報錯:登入失敗。該登入名來自不受信任的網域,不能與 Windows 驗證一起使用。

原因: 企業管理器「配置發布、訂閱者和分發」→ 訂閱者屬性 → 登入方式仍為「Windows 驗證」。
修正: 改為「SQL Server 驗證」,輸入訂閱端 SQL 登入帳號/密碼。

驗證與監控

  • SSMS 2008 R2 → 「複寫」→「本地訂閱」→ 右鍵「檢視同步狀態」。
  • 企業管理器 → 「複寫監視器」→ 觀察「未發送命令」、「延遲」。
  • 定期檢查 distribution..MSrepl_errors 錯誤表。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved