公司新項目要進行數據同步,在網上找了這部分的資料,零零碎碎很多方面,但是並不實用,我在工作過后把這些總結一下,寫個博客做個記錄,希望也能幫助到園友。
公司剛接一個項目,客戶把一個功能獨立於公司系統放入另一個購買的系統中,要求本地放有該功能的數據,並且可以實時查詢出購買的系統的數據。
經過分析得到一個方法:
- 使用腳本每天定時執行,把每天的數據使用存儲過程放入公司數據庫,保證本地有數據。
- 使用視圖或者同義詞從公司數據庫遠程連接購買的系統的數據庫,進行查詢,保證實時查出數據。
在這里先使用視圖遠程連接數據庫查詢數據:
我遠程連接的開發環境:
1. 兩個虛擬機
2. 每台虛擬機有sqlserver
對於遠程連接,概念隨處可見,這里列出基本的幾個:
在需要數據的虛擬機數據庫中建立連接
EXEC sp_addlinkedserver @server = '192.168.***.***' --鏈接的服務器IP
注:ip地址可用dos命令-ipconfig獲得,可參考http://jingyan.baidu.com/article/20b68a8875003a796cec621e.html
EXEC sp_addlinkedsrvlogin @rmtsrvname = '192.168.***.***', --登錄遠程SQL鏈接服務器IP @rmtuser = 'sa', --登錄SQL用戶名 @rmtpassword = 'sa' --登錄遠程SQL密碼
接下來就是查詢語句
SELECT * FROM OPENQUERY ([192.168.***.***] ,'select * from 數據庫名.dbo.表名' )
現在就可以進行基本的數據查詢,然后將查詢語句放入視圖:
CREATE VIEW view_*** AS SELECT * FROM OPENQUERY ([192.168.***.***] ,'select * from 數據庫名.dbo.表名' )
然后查詢視圖,這里視圖只是簡單的sql查詢做例子,建議對視圖不清楚的看一下視圖的資料,http://blog.csdn.net/wl_ldy/article/details/5289557
接下來只需要查詢視圖便可以獲得數據
select * from view_***
然后對視圖進行查詢,實時數據查詢就完成了,其他內容后續分享。