iT邦幫忙

0

SQL SERVER 如何跨WAN 複寫?

如題 請教各位,

我有2台在不同WAN的DB1/DB2 需要做複寫,
從SSMS已經互相都連得到,
參考網路上做法是設別名,因為有在組態管理員設別名,
也可以用機器名稱去互連,

可是我在DB1發行集做新增訂閱,都只有DB1發行集下面有出現訂閱,
在DB2"我的訂閱"裡面沒東西,
DB1檢視同步處理狀態都是"該處理無法連接到Subscriber"
請問是否有漏了什麼地方沒做到或是該怎麼處理?

當初安裝DB2時手賤多打了,是否會有影響?
http://ithelp.ithome.com.tw/upload/images/20161101/20103204M0epXDjBa6.png

2 個回答

1
做工仔人!
iT邦高手 1 級 ‧ 2016-11-01 15:54:28

二台SQL SERVER 要互通時.
第一步:先設定連結伺服器.(如何設定連結伺服器,可以參考這這篇,一般都設定一邊就好了.
第二步才會開始使用.使用方式:
select * from openquery(連結字串,'select * from table_name')

看更多先前的回應...收起先前的回應...

也可以看看這篇的設定

尼克 iT邦高手 1 級 ‧ 2016-11-02 09:04:36 檢舉

網路都能通的話,樓上是正解。

複寫自己就會建連結伺服器了吧?

連結伺服器只要建一次就好.
之後,只要二台伺服器間的網路是互通的情況下.
系統會依T-SQL的程式或排程封裝的內容來更新彼些間的資料.
不必另建連結伺服器.

所以只要建連結伺服器就好,不需要再去設定複寫了嗎??

連結伺服器建好後,只是可以認得到對方的DB.但是二個DB之間不會有任何的抄寫動作.
如果二個DB之間要相互抄寫資料的話.還必須要透過T-SQL或是工作程程的方式來設定資料抄寫的時間及範圍.

訂閱的功能,我沒有用過.
我的作法都是自己寫SQL語法來處理.
如果不必經常性的複製資料.就寫好T-SQL存檔,要用時再去執行它.
如果是要定時執行的,就看放在"SQL SERVER AGENT" 的"作業"中來排程執行.
以上供樓主參考.

我需要的功能比較偏向"複寫"
而不是這個 QQ

不知如何回答!!
在沒有設定連結伺服器的情況下,如何"複寫" ?
要複寫的先決條件是要讓二台SERVER能相互認識並且可以溝通吧?
相互認識的方法就是設定連結伺服器.
認識了之後,要複寫,我個人的習慣就是寫一段T-SQL 就搞定了.
希望系統能定時自動去做,那就在AGENT 中設定作業排程. 那系統就會自動完成.
萬一樓主是希望二台SERVER 同步.(也就是A SERVER 異動一筆資料,B SERVER也同時異動),那又是另一個層次的問題.=>這部份會建議用其他方式處理.以免出錯.

我再摸索一下好了 謝謝您

WilliamHuang
iT邦研究生 1 級 ‧ 2016-11-01 17:15:12
【**此則訊息已被站方移除**】

我要發表回答

立即登入回答