程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SqlServer2012 數據庫的同步之SQL JOB + 建立鏈接服務器

SqlServer2012 數據庫的同步之SQL JOB + 建立鏈接服務器

編輯:關於SqlServer
     文章參考百度過的文章,現在忘了具體哪篇,感謝其分享,這裡根據自己的操作和遇到的問題整理一下。      需求:在兩個不同的SQL SERVER 2012的服務器之間進行數據訪問和更新。我們需要把SourceData的數據插入到TargetData的服務器上去,一天執行一次任務。我們的首選方案是在兩個服務器之間建立鏈接服務器。      操作:定時全量的把SourceData的數據插入到TargetData裡去。這裡涉及到需要把TargetData裡的表的信息做刪除操作,由於delete表需要記錄詳細的日志 (用於回滾),而當表比較大時,而且每天都做一次刪除會產生龐大的日志數據占用內存,所以這裡不采用delete操作,而用truncate來刪除表。      兩個服務器的配置: Server one: DB Version: 2012 Server IP: 192.168.2.200 Souce Database Server two: DB Version: 2012 Server IP: 192.168.1.56  Target Database      我們可以在任意一個服務器上建立鏈接服務器,但是是有區別的。區別體現在處理數據的時候。      方法一:在源數據庫服務器上建立一個鏈接服務器,讓源數據庫主動的把數據push到目標數據庫中。   1、在源數據庫服務器上建立鏈接服務器。【服務器對象】-【鏈接服務器】-右鍵【新建鏈接服務器(N)...】-【常規】(如下圖)         注 意:鏈接服務器IP:192.168.1.65是目標數據庫,建立這個鏈接服務器准備直接訪問192.168.1.65的服務器上的數據庫表。由於這裡是 SQL SERVER 2012 到SQL SERVER 2012數據庫,所以服務器類型選擇SQL Server。   2、選擇【安全性】設置登錄用戶和密碼,添加一個本地服務器登錄到遠程服務器的登錄映射。然後【確定】(如下圖)     3、這時可以看到了一個192.168.1.56的鏈接服務器。右鍵【測試連接(T)】(如下圖)     4、如果出現如下對話框則說明配置正確(如下圖)       在源數據庫服務器上建立一個job主動的把數據push到目標數據庫裡去。 5、新建立作業:【SQL Server 代理】-【作業】-右鍵【新建作業(N)...】     6、在【常規】中為作業起個名稱(如下圖)     7、點擊【步驟】,然後點擊【新建(N)...】創建作業步驟(如下圖)     8、編輯步驟(如下圖),然後【確定】 從源數據庫push數據到目標數據庫的sql語句: truncate table [192.168.1.56].TargetData.[dbo].[TargetTable] go insert into [192.168.1.56 ].TargetData.[dbo].[TargetTable ] select * from SourceData.[dbo].[SourceTable] go     9、新建作業計劃(如下圖),然後【確定】     10、最終【確定】就可以了(如下圖)     11、執行SQL JOB,右鍵點擊剛新建的作業【PushDataToTarget】-【作業開始步驟(T)...】(如下圖)     12、結果出現下面的問題(如下圖)     13、然後去查看日志右鍵點擊【PushDataToTarget】-【查看歷史記錄(V)】(如下圖)         =============================================================          方法二:在目標數據庫服務器上建立一個鏈接服務器,讓目標數據庫主動的把數據pull到源數據庫中。   1、創建鏈接服務器 參照上方的方法,並測試鏈接成功。然後在目標數據中新建作業,如下圖     2、新建步驟(如下圖) 從源數據庫pull數據的sql語句: truncate table TargetData.[dbo].[TargetTable] go insert into TargetData.[dbo].[TargetTable ] select * from [192.168.2.200].SourceData.[dbo].[SourceTable] go       3、新建計劃(如下圖)     4、最終【確定】     5、右鍵點擊【PullDataFromSource】-【作業開始步驟(T)...】     6、執行結果如下     7、再查看日志如下     8、表明執行結果是成功的。從上面的操作中可以總結出: 鏈接服務器的兩個特點: 1.通過鏈接服務器不能刪除(including truncate)鏈接源服務器的任何對像. 2:能過鏈接服務器可以對鏈接源服務器的表進行insert,updae,delete操作.   2015.10.30 10:26 willem SqlServer2012 數據庫同步的兩種方式(SQL JOB + 建立鏈接服務器)
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved