資料庫間同步
㈠ 資料庫怎麼實現數據同步
不同伺服器資料庫之間的數據操作 --創建鏈接伺服器 exec sp_addlinkedserver 'ITSV ', '', 'SQLOLEDB ', '遠程伺服器名或ip地址 'exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用戶名 ', '密碼'--查詢示例 select*from ITSV.資料庫名.dbo.表名 --導入示例 select*into 表from ITSV.資料庫名.dbo.表名 --以後不再使用時刪除鏈接伺服器 exec sp_dropserver 'ITSV ', 'droplogins '--連接遠程/區域網數據(openrowset/openquery/opendatasource) --1、openrowset --查詢示例 select*fromopenrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼',資料庫名.dbo.表名) --生成本地表 select*into 表fromopenrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼',資料庫名.dbo.表名) --把本地表導入遠程表 insertopenrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼',資料庫名.dbo.表名) select*from 本地表 --更新本地表 update b set b.列A=a.列A fromopenrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼',資料庫名.dbo.表名)as a innerjoin 本地表 b on a.column1=b.column1 --openquery用法需要創建一個連接 --首先創建一個連接創建鏈接伺服器 exec sp_addlinkedserver 'ITSV ', '', 'SQLOLEDB ', '遠程伺服器名或ip地址 '--查詢select*FROMopenquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ') --把本地表導入遠程表 insertopenquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ') select*from 本地表 --更新本地表 update b set b.列B=a.列B FROMopenquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ') as a innerjoin 本地表 b on a.列A=b.列A --3、opendatasource/openrowset SELECT*FROMopendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陸名;Password=密碼 ' ).test.dbo.roy_ta --把本地表導入遠程表 insertopendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陸名;Password=密碼 ').資料庫.dbo.表名 select*fromSQL code 用強制訂閱實現資料庫同步操作 大量和批量的數據可以用資料庫的同步機制處理: // 說明:為方便操作,所有操作均在發布伺服器(分發伺服器)上操作,並使用推模式在客戶機器使用強制訂閱方式。 有疑問聯系作者:[email protected] 測試通過 //--1:環境伺服器環境: 機器名稱: ZehuaDb 操作系統:Windows 2000 Server 資料庫版本:SQL 2000 Server 個人版 客戶端機器名稱:Zlp 操作系統:Windows 2000 Server 資料庫版本:SQL 2000 Server 個人版 --2:建用戶帳號在伺服器端建立域用戶帳號我的電腦管理->本地用戶和組->用戶->建立UserName:zlp UserPwd:zlp --3:重新啟動伺服器MSSQLServer我的電腦->控制面版->管理工具->服務->MSSQLServer 服務 (更改為:域用戶帳號,我們新建的zlp用戶 ./zlp,密碼:zlp) --4:安裝分發伺服器A:配置分發伺服器工具->復制->配置發布、訂閱伺服器和分發->下一步->下一步(所有的均採用默認配置) B:配置發布伺服器工具->復制->創建和管理發布->選擇要發布的資料庫(SZ)->下一步->快照發布->下一步-> 選擇要發布的內容->下一步->下一步->下一步->完成C:強制配置訂閱伺服器(推模式,拉模式與此雷同) 工具->復制->配置發布、訂閱伺服器和分發->訂閱伺服器->新建->SQL Server資料庫->輸入客戶端伺服器名稱(ZLP)->使用SQL Server 身份驗證(sa,空密碼)->確定->應用->確定D:初始化訂閱復制監視器->發布伺服器(ZEHUADB)->雙擊訂閱->強制新建->下一步->選擇啟用的訂閱伺服器->ZLP-> 下一步->下一步->下一步->下一步->完成--5:測試配置是否成功復制監視器->發布伺服器(ZEHUADB)->雙擊SZ:SZ->點狀態->點立即運行代理程序查看:復制監視器->發布伺服器(ZEHUADB)->SZ:SZ->選擇ZLP:SZ(類型強制)->滑鼠右鍵->啟動同步處理如果沒有錯誤標志(紅色叉),恭喜您配置成功 --6:測試數據 --在伺服器執行:選擇一個表,執行如下SQL insertinto WQ_NEWSGROUP_S select'測試成功',5 復制監視器->發布伺服器(ZEHUADB)->SZ:SZ->快照->啟動代理程序 ->ZLP:SZ(強制)->啟動同步處理 去查看同步的 WQ_NEWSGROUP_S 是否插入了一條新的記錄 測試完畢,通過。
㈡ 多資料庫之間同步數據怎麼做
如果是同一種資料庫的話,你同步的數據表結構是否相同,如果也相同的話,完全可以利用資料庫的同步復制機制來解決;(做主從) 如果表結構不相同的話,如果不在應用層處理的話,有兩種方式參考: 1,A推數據給B;A有數據的時候,實時或非實時(採用event或trigger)將數據推到B中,B再做處理; 2,B從A拉數據,用一個event(mysql中的job)定時從A中拉數據然後進行處理; 另外可以選擇在應用層來做,這個我就不多介紹了,根據業務邏輯coding就行了。 由於不清楚你的業務特點,所以無法進一步的幫你分析。
㈢ 如何實現兩個資料庫的同步
不同伺服器資料庫之間的數據操作 --創建鏈接伺服器 exec sp_addlinkedserver 'ITSV ', '', 'SQLOLEDB ', '遠程伺服器名或ip地址 'exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用戶名 ', '密碼'--查詢示例 select*from ITSV.資料庫名.dbo.表名 --導入示例 select*into 表from ITSV.資料庫名.dbo.表名 --以後不再使用時刪除鏈接伺服器 exec sp_dropserver 'ITSV ', 'droplogins '--連接遠程/區域網數據(openrowset/openquery/opendatasource) --1、openrowset --查詢示例 select*fromopenrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼',資料庫名.dbo.表名) --生成本地表 select*into 表fromopenrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼',資料庫名.dbo.表名) --把本地表導入遠程表 insertopenrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼',資料庫名.dbo.表名) select*from 本地表 --更新本地表 update b set b.列A=a.列A fromopenrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼',資料庫名.dbo.表名)as a innerjoin 本地表 b on a.column1=b.column1 --openquery用法需要創建一個連接 --首先創建一個連接創建鏈接伺服器 exec sp_addlinkedserver 'ITSV ', '', 'SQLOLEDB ', '遠程伺服器名或ip地址 '--查詢select*FROMopenquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ') --把本地表導入遠程表 insertopenquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ') select*from 本地表 --更新本地表 update b set b.列B=a.列B FROMopenquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ') as a innerjoin 本地表 b on a.列A=b.列A --3、opendatasource/openrowset SELECT*FROMopendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陸名;Password=密碼 ' ).test.dbo.roy_ta --把本地表導入遠程表 insertopendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陸名;Password=密碼 ').資料庫.dbo.表名 select*fromSQL code 用強制訂閱實現資料庫同步操作 大量和批量的數據可以用資料庫的同步機制處理: // 說明:為方便操作,所有操作均在發布伺服器(分發伺服器)上操作,並使用推模式在客戶機器使用強制訂閱方式。 有疑問聯系作者:[email protected] 測試通過 //--1:環境伺服器環境: 機器名稱: ZehuaDb 操作系統:Windows 2000 Server 資料庫版本:SQL 2000 Server 個人版 客戶端機器名稱:Zlp 操作系統:Windows 2000 Server 資料庫版本:SQL 2000 Server 個人版 --2:建用戶帳號在伺服器端建立域用戶帳號我的電腦管理->本地用戶和組->用戶->建立UserName:zlp UserPwd:zlp --3:重新啟動伺服器MSSQLServer我的電腦->控制面版->管理工具->服務->MSSQLServer 服務 (更改為:域用戶帳號,我們新建的zlp用戶 ./zlp,密碼:zlp) --4:安裝分發伺服器A:配置分發伺服器工具->復制->配置發布、訂閱伺服器和分發->下一步->下一步(所有的均採用默認配置) B:配置發布伺服器工具->復制->創建和管理發布->選擇要發布的資料庫(SZ)->下一步->快照發布->下一步-> 選擇要發布的內容->下一步->下一步->下一步->完成C:強制配置訂閱伺服器(推模式,拉模式與此雷同) 工具->復制->配置發布、訂閱伺服器和分發->訂閱伺服器->新建->SQL Server資料庫->輸入客戶端伺服器名稱(ZLP)->使用SQL Server 身份驗證(sa,空密碼)->確定->應用->確定D:初始化訂閱復制監視器->發布伺服器(ZEHUADB)->雙擊訂閱->強制新建->下一步->選擇啟用的訂閱伺服器->ZLP-> 下一步->下一步->下一步->下一步->完成--5:測試配置是否成功復制監視器->發布伺服器(ZEHUADB)->雙擊SZ:SZ->點狀態->點立即運行代理程序查看:復制監視器->發布伺服器(ZEHUADB)->SZ:SZ->選擇ZLP:SZ(類型強制)->滑鼠右鍵->啟動同步處理如果沒有錯誤標志(紅色叉),恭喜您配置成功 --6:測試數據 --在伺服器執行:選擇一個表,執行如下SQL insertinto WQ_NEWSGROUP_S select'測試成功',5 復制監視器->發布伺服器(ZEHUADB)->SZ:SZ->快照->啟動代理程序 ->ZLP:SZ(強制)->啟動同步處理 去查看同步的 WQ_NEWSGROUP_S 是否插入了一條新的記錄 測試完畢,通過。
㈣ 2個資料庫表之間及時同步
看你問題補充說的應該有2太資料庫伺服器吧? 可以做資料庫集群雙機互備啊! 網路方面如果伺服器有多網口網線也可以做成互備的。
㈤ 怎麼在不同資料庫之間進行同步數據
怎麼在不同資料庫之間進行同步數據
資料庫A和資料庫B是建立在兩台獨立的資料庫伺服器上,回那麼采答用dblink方式是一種可行的方式,存在兩個數據同步過程:
一、資料庫A正常運行的時候需要將數據同步到備用庫即資料庫B;
二、資料庫A不正常的時候啟用資料庫B,在資料庫A恢復正常之前的數據更新都發生在資料庫B,那麼需要將資料庫B的數據同步給資料庫A。
第一種方式:前提是資料庫A和資料庫B本地網是24小時互通的同時對數據同步實時性有比較高的要求,那麼可以建立DBLINK,在兩個庫都建觸發器,不管當前在哪個庫發生數據更新的時候實時同步數據到目標資料庫;
㈥ 如何解決多資料庫之間同步問題
如果是同一種資料庫的話,你同步的數據表結構是否相同,如果也相同的話,完全可以利內用資料庫的容同步復制機制來解決;(做主從)
如果表結構不相同的話,如果不在應用層處理的話,有兩種方式參考:
1,A推數據給B;A有數據的時候,實時或非實時(採用event或trigger)將數據推到B中,B再做處理;
2,B從A拉數據,用一個event(mysql中的job)定時從A中拉數據然後進行處理;
另外可以選擇在應用層來做,這個我就不多介紹了,根據業務邏輯coding就行了。
由於不清楚你的業務特點,所以無法進一步的幫你分析。
㈦ 如何實現兩個資料庫之間的表數據同步
首先你要說明一下這2個資料庫是什麼關系
資料庫集群,那麼 AB 兩庫是 鏡像 還是 互備,內當然,根據數據容庫 品牌不同,同步的方式也不一樣,不過都可以通過安裝過程和建立 資料庫實例中的配置 來實現
資料庫之間通過其他可控程序連接,那麼,該情況下,需要數據可能出現延遲等,不推薦
資料庫之間沒有連接,但是都由同一個節點進行數據下發,那麼就在這個節點上實現一個跨庫事物控制就行了
㈧ 多個資料庫間的數據同步,各位都使用什麼方
首先你要說明一下這2個資料庫是什麼關系
資料庫集群,那麼 AB 兩庫是 鏡像 還是 互備,當然,根據資料庫 品牌不同,同步的方式也不一樣,不過都可以通過安裝過程和建立 資料庫實例中的配置 來實現
資料庫之間通過其他可控程序連接,那麼,該情況下,需要數據可能出現延遲等,不推薦
資料庫之間沒有連接,但是都由同一個節點進行數據下發,那麼就在這個節點上實現一個跨庫事物控制就行了