分發者核心職責
- 存儲快照文件(供訂閱者下載)。
- 運行分發代理/合並代理(推送/拉取同步)。
- 記錄同步歷史、錯誤、效能數據。
快照文件夾標準化部署
- 路徑選擇:
E:\Replication\Snapshot(獨立物理盤、RAID 10、預留 200GB+)。
- 創建共享: 右鍵 →「共享」→「高級共享」→ 共享名
ReplSnapshot$。
- 權限配置: 見 20370 權限矩陣,核心原則:寫入僅快照代理賬號,讀取僅同步/分發賬號。
- 配額/審計: 啟用磁盤配額 (200GB)、啟用「審計對象訪問」記錄寫入/刪除操作。
分發者配置精靈流程
1. SSMS →「複製」→ 右鍵「配置發佈」→「下一步」。
2. 分發者選擇:本地伺服器作為分發者(簡化網絡/權限)。
3. 快照文件夾:瀏覽選擇 \\\ReplSnapshot$(UNC 路徑,避免本地路徑在遠端訂閱者失效)。
4. 分發數據庫:命名 distribution,文件放置於高性能存儲,自動增長 512MB/10%。
5. 發布者啟用:勾選本實例(若有遠端發布者再添加)。
6. 完成 → 生成 distribution 數據庫、系統表、代理作業。
分發數據庫關鍵設置
-- 事務保留期(合並複製不適用,但保留設置)
EXEC sp_changedistributor_property @property = 'transaction_retention', @value = '72'; -- 小時
-- 歷史保留期
EXEC sp_changedistributor_property @property = 'history_retention', @value = '48'; -- 小時
-- 最大分發代理並發
EXEC sp_changedistributor_property @property = 'max_distribution_agents', @value = '100';
代理作業自動創建與排程
| 作業名 | 功能 | 默認排程 | 建議調整 |
| Snapshot Agent | 生成快照 | 按發布排程 | 低峰期、單發布單作業 |
| Distribution Agent | 推送事務/快照到訂閱者 | 連續/按排程 | 合並複製用 Merge Agent |
| Merge Agent | 合並同步(雙向) | 按訂閱排程 | 每 15-60 分鐘/業務需求 |
| Queue Reader Agent | 佇列更新讀取 | 連續 | 僅佇列更新發布需啟用 |
| Replication Monitoring | 刷新監控器緩存 | 每 5 分鐘 | 保持默認 |
驗證分發者就緒
- Replication Monitor →「分發者」→ 狀態綠色、代理作業可見。
- 快照文件夾 UNC 路徑在訂閱者機器可訪問、可讀寫(按賬號)。
SELECT * FROM distribution..MSdistribution_agents 確認代理記錄。