實現兩個資料庫之間的資料同步

2021-07-06 07:50:51 字數 3854 閱讀 4278

不同伺服器資料庫之間的資料操作

--建立鏈結伺服器

execsp_addlinkedserver'itsv ',' ','sqloledb ','遠端伺服器名或ip位址 '

execsp_addlinkedsrvlogin'itsv ','false ',null,'使用者名稱 ','密碼 '

--查詢示例

select*fromitsv.資料庫名.dbo.表名

--匯入示例

select*intofromitsv.資料庫名.dbo.表名

--以後不再使用時刪除鏈結伺服器

execsp_dropserver'itsv ','droplogins '

--連線遠端/區域網資料(openrowset/openquery/opendatasource)

--1、openrowset

--查詢示例

select*fromopenrowset('sqloledb ','sql伺服器名 ';'使用者名稱 ';'密碼 ',資料庫名.dbo.表名)

--生成本地表

select*intofromopenrowset('sqloledb ','sql伺服器名 ';'使用者名稱 ';'密碼 ',資料庫名.dbo.表名)

--把本地表匯入遠端表

insertopenrowset('sqloledb ','sql伺服器名 ';'使用者名稱 ';'密碼 ',資料庫名.dbo.表名)

select*from本地表

--更新本地表

updateb

setb.列a=a.列a

fromopenrowset('sqloledb ','sql伺服器名 ';'使用者名稱 ';'密碼 ',資料庫名.dbo.表名)asainnerjoin本地表 b

ona.column1=b.column1

--openquery用法需要建立乙個連線

--首先建立乙個連線建立鏈結伺服器

execsp_addlinkedserver'itsv ',' ','sqloledb ','遠端伺服器名或ip位址 '

--查詢

select*

fromopenquery(itsv,'select *  from 資料庫.dbo.表名 ')

--把本地表匯入遠端表

insertopenquery(itsv,'select *  from 資料庫.dbo.表名 ')

select*from本地表

--更新本地表

updateb

setb.列b=a.列b

fromopenquery(itsv,'select * from 資料庫.dbo.表名 ')asa

innerjoin本地表 bona.列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*from

同步兩個資料庫

同步兩個資料庫的示例 有資料 srv1.庫名.author有欄位 id,name,phone,srv2.庫名.author有欄位 id,name,telphone,adress 要求 srv1.庫名.author增加記錄則srv1.庫名.author記錄增加 srv1.庫名.author的phone...

sql 定時同步兩個資料庫

定時同步伺服器上的資料 例子 測試環境,sql server2000,遠端伺服器名 xz,使用者名為 sa,無密碼,測試資料庫 test 伺服器上的表 查詢分析器連線到伺服器上建立 create table user id int primary key,number varchar 4 name ...

使用Liquibase對比兩個資料庫之間的差異

1.liquibase官網 2.支援所有主流資料庫 4.環境搭建 4.1 如果沒安裝j a,需要先安裝配置j a環境 4.2 解壓縮zip包,把解壓後的根目錄新增到環境變數 5.建立乙個新的目錄,放入以下三個檔案 5.1 mysql connector j a 8.0.17.jar 5.2 liqu...