首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 跨網段/跨機房複寫:FTP 快照初始化方案詳解

     編輯:關於SqlServer

跨網段、跨機房建立交易式複寫時,SQL Server 不支援直接用 IP 連接散發者。本文提供 FTP 讀取快照檔案初始化訂閱 方案,比共享資料夾更安全、穿透防火牆更容易。

環境資訊

角色IP/埠伺服器名稱
發行者/散發者192.168.1.101:1924USER-H2B2A89PEK
訂閱者192.168.1.102:1433QuZhoushiwei105
FTP 伺服器ftp://192.168.1.101:9721帳號: ftpuser / ftppassword

發行者端設定關鍵步驟

  1. 建立發行集:選擇資料庫 Task → 交易式發行 → 選擇發行文章 (資料表/檢視)。
  2. 快照代理程式 設定:
     - 快照資料夾:指向 FTP 根目錄對應的本機路徑 (如 D:\FTPRoot\ReplSnapshot)。
     - FTP 設定:啟用「允許訂閱者從 FTP 下載快照」,填入 FTP 位址、連接埠、帳密。
  3. 代理程式安全性:快照代理程式、記錄讀取代理程式、散發代理程式均設定具備足夠權限的網域帳號。
選擇發行資料庫 交易式發行選項 選擇發行文章 初始化訂閱設定

訂閱者端建立提取式訂閱

  1. 在訂閱者執行個體,右鍵 Local Subscriptions → New Pull Subscription。
  2. 連接發行者:因跨網段無法解析主機名,需在訂閱者 hosts 檔加入 192.168.1.101 USER-H2B2A89PEK,或使用 SQL Server 別名 (見下文)。
  3. 選擇發行集 → 初始化方式選擇「從 FTP 下載快照」**。
  4. 排程:依業務需求設定 (連續/定時)。

FTP 方案優勢總結

  • 僅需開放 單一 FTP 埠 (預設 21 或自訂 9721),減少防火牆規則。
  • 快照檔案傳輸可啟用 SSL/TLS (FTPS) 加密,符合合規需求。
  • 訂閱者端無需存取散發者共享資料夾,權限隔離更清晰。
  • 支援斷點續傳,大型快照 (GB 級) 傳輸更穩健。

常見問題排查

  • FTP 被動模式:防火牆需開放資料埠範圍 (FTP 伺服器設定 PassivePortRange)。
  • 快照代理程式失敗:檢查 FTP 根目錄寫入權限、磁碟空間、路徑長度限制 (260 字元)。
  • 訂閱者下載失敗:確認訂閱者機器能 ftp ftpuser@192.168.1.101 手動登入並 ls 列出快照資料夾。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved