跨網段、跨機房建立交易式複寫時,SQL Server 不支援直接用 IP 連接散發者。本文提供 FTP 讀取快照檔案初始化訂閱 方案,比共享資料夾更安全、穿透防火牆更容易。
環境資訊
| 角色 | IP/埠 | 伺服器名稱 |
| 發行者/散發者 | 192.168.1.101:1924 | USER-H2B2A89PEK |
| 訂閱者 | 192.168.1.102:1433 | QuZhoushiwei105 |
| FTP 伺服器 | ftp://192.168.1.101:9721 | 帳號: ftpuser / ftppassword |
發行者端設定關鍵步驟
- 建立發行集:選擇資料庫
Task → 交易式發行 → 選擇發行文章 (資料表/檢視)。
- 快照代理程式 設定:
- 快照資料夾:指向 FTP 根目錄對應的本機路徑 (如 D:\FTPRoot\ReplSnapshot)。
- FTP 設定:啟用「允許訂閱者從 FTP 下載快照」,填入 FTP 位址、連接埠、帳密。
- 代理程式安全性:快照代理程式、記錄讀取代理程式、散發代理程式均設定具備足夠權限的網域帳號。
訂閱者端建立提取式訂閱
- 在訂閱者執行個體,右鍵 Local Subscriptions → New Pull Subscription。
- 連接發行者:因跨網段無法解析主機名,需在訂閱者
hosts 檔加入 192.168.1.101 USER-H2B2A89PEK,或使用 SQL Server 別名 (見下文)。
- 選擇發行集 → 初始化方式選擇「從 FTP 下載快照」**。
- 排程:依業務需求設定 (連續/定時)。
FTP 方案優勢總結
- 僅需開放 單一 FTP 埠 (預設 21 或自訂 9721),減少防火牆規則。
- 快照檔案傳輸可啟用 SSL/TLS (FTPS) 加密,符合合規需求。
- 訂閱者端無需存取散發者共享資料夾,權限隔離更清晰。
- 支援斷點續傳,大型快照 (GB 級) 傳輸更穩健。
常見問題排查
- FTP 被動模式:防火牆需開放資料埠範圍 (FTP 伺服器設定
PassivePortRange)。
- 快照代理程式失敗:檢查 FTP 根目錄寫入權限、磁碟空間、路徑長度限制 (260 字元)。
- 訂閱者下載失敗:確認訂閱者機器能
ftp ftpuser@192.168.1.101 手動登入並 ls 列出快照資料夾。