SQL不同服務器數據庫之間數據操作(當在一個服務器的某張表中有數據更新時,將更新值通過觸發器插入到另一個服務器的指定表中)

第一步:在建立觸發器的服務器上創建鏈接服務器

創建鏈接服務器有兩種方法:1.通過SQL語言建立,2.通過數據庫管理工具建立,下面分別進行詳細介紹:
1.通過SQL語言建立
通過SQL語言建立鏈接服務器方法
2.通過數據庫管理工具建立(這裏以SQL SERVER 2012英文版爲例進行介紹)
打開數據庫管理工具,點擊Server Objects->Linked Servers,選中Linked Servers右鍵選擇New Linked Server彈出如下圖1-2所示的New Linked Server對話框,在Linked Server後填入連接服務名,Server Type選擇Other data source,Data source 後面填入要連接數據庫的IP地址;點擊Security選項卡進入如圖1-3所示頁面,在該頁面中按圖中選擇進行操作,在Remote Login和With passWord後分別填入登錄名和密碼即可。此時在Linker Server下就會出現你所建立的鏈接服務的名字,選中鏈接服務名右鍵點擊Test connetion會彈出連接成功對話框如下圖1-4所示,至此鏈接服務器建立完畢。

                         圖1-1

這裏寫圖片描述
圖1-2

這裏寫圖片描述
圖1-3
這裏寫圖片描述 圖1-4

第二步:根據自己需要建立觸發器

建立觸發器的方法這裏不再敘述,請網上自行查找資料。

第三步:將分佈式事務用於服務器到服務器的通信打開

打開雙方服務器,再打開SSMS,右擊數據庫服務器屬性,在連接選項卡勾選”需要將分佈式事務用於服務器到服務器的通信.”如下圖3-1所示, 重啓雙方數據庫服務
這裏寫圖片描述圖3-1

第四步:對本地機器與目標機器的MSDTC(Distributed Transaction Coordinator)服務進行設置並開啓服務

1.設置MSDTC
打開“管理工具――組件服務”,依次打開“組件服務――計算機 – 我的電腦 — distributed transaction coordinator –本地DTC上右鍵屬性安全選項卡上設置:選中“網絡DTC訪問”。在客戶端管理中選中“允許遠程客戶端”“允許遠程管理”,在事務管理通訊中選“允許入站”“允許出站”“不要求進行驗證”,保證DTC登陸賬戶爲:NT Authority\NetworkService。
這裏寫圖片描述圖4-1
2.開啓MSDTC服務
注意:啓動類型一定要設置爲自動,不然每次服務器關機重啓後該服務不會自動重啓。
這裏寫圖片描述

第五步:檢查兩臺主機能否相互ping通Hostname

檢查兩臺機器能夠相互ping通Hostname。注意是機器名,而不是IP。若不可以,進行如下設置:在目錄“C\windows\system32\drivers\etc”下的hosts文件,寫上IP和HostName的對應信息,如 “10.25.11.185 GSMAJK”。另外,你也可以使用DTCping工具來測試是否可以在兩臺機器之間使用MSDTC。

第六步: 打開雙方135端口

MSDTC服務依賴於RPC(Remote Procedure Call (RPC))服務,RPC使用135端口,保證RPC服務啓動,如果服務器有防火牆,保證135端口不被防火牆擋住。 使用“telnet IP 135 ”命令測試對方端口是否對外開放。也可用端口掃描軟件(比如Advanced Port Scanner)掃描端口以判斷端口是否開放。(注意win7默認telnet功能沒打開,請先打開telnet功能才能進行測試)

第七步:允許msdtc服務通過防火牆

通過點擊【允許運行另一程序】按鈕添加,位置爲C:/windows/system32/msdtc.exe。或者直接關閉防火牆也可以。
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章