sql 的發佈訂閱,想必大家都瞭解,但一般都是在預設的1433的情況下搭建的,那麼1433換成別的埠,發佈還能正常工作嗎? 在一次客戶的真實場景上我就遇到了。 好了,今天不想寫太多,簡化下, 測試環境 發佈伺服器 電腦名 win-01 分發伺服器 電腦名 win-01 (與發佈用的同一臺) 訂 ...
sql 的發佈訂閱,想必大家都瞭解,但一般都是在預設的1433的情況下搭建的,那麼1433換成別的埠,發佈還能正常工作嗎?
在一次客戶的真實場景上我就遇到了。
好了,今天不想寫太多,簡化下, 測試環境
發佈伺服器 電腦名 win-01
分發伺服器 電腦名 win-01 (與發佈用的同一臺)
訂閱伺服器 電腦名 win-02
用到的試驗庫是 YY
在預設的埠1433 的場景下 ,我們已經搭建起了發佈訂閱,如圖
做了兩張表的複製。
我們看下 複製監視器
在win-01 的 表中插入、刪除、修改都是正常的,這裡就不多做介紹了。
那麼 ,這時我們把win-02 這台實例預設的 1433 改成 4111 後,訂閱還正常不?
我們此時再看下複製監時器的狀態,如圖
這是狀態已經是,連不上訂閱的狀態了, 此時我們再寫入數據,
發佈伺服器 win-01
訂閱伺服器win-02
可以看到,並沒有同步過來。此時應該怎麼辦呢?
經過測試發現,只需要在win-01 也就是 分發的伺服器上,通過建立別名的方式去映射就可以了。
win-01 上建立別名 如圖
記住兩個都要創建上,32位的是給通過圖形界面創建訂閱用到的別名,64位的 是給同步程式用的(不需重啟)。
這是我們再看複製監視器
再看 win-02 上的表中的數據 如圖
已經同步過來了。