SQL Server 跨庫同步資料

2022-08-02 08:21:07 字數 1051 閱讀 6029

最近有個需求是要跨庫進行資料同步,兩個資料庫分布在兩台物理計算機上,自動定期同步可以通過sql server**作業來實現,但是前提是需要編寫乙個儲存過程來實現同步邏輯處理。這裡的儲存過程用的不是opendatasource,而是用的鏈結伺服器來實現的。儲存過程建立在ip1:192.168.0.3伺服器上,需要將檢視v_custom的客戶資訊同步到ip2:192.168.0.10伺服器上的t_custom表中。邏輯是如果不存在則插入,存在則更新字段。

1create procedure [dbo].[p_pm_專案平台客戶批量同步到報銷平台](2@destservernvarchar(50),3@sourceservernvarchar(50)4)5as

6begin78set nocount on;9--不存在則新增鏈結伺服器,外部查詢必須指明ip位址,例如select*from[ip].[database].[dbo].[table]10ifnotexists (select*fromsys.servers whereserver_id!=0anddata_source=@destserver)11begin12execsp_addlinkedserver @server=@destserver13end14ifnotexists (select*fromsys.servers whereserver_id!=0anddata_source=@sourceserver)15begin16execsp_addlinkedserver @server=@sourceserver17end18begintry19setxact_abort on

20begintransaction

21-- 22insert into [192.168.0.10].[dbcrm].[dbo].[t_custom](客戶id,2324客戶名稱,25客戶簡稱,26輸入碼,27查詢碼,28位址,29錄入登入名,30錄入時間,31修改登入名,32修改時間,33審批狀態id,34審批狀態名稱,35是否審批結束,36審批操作時間,37

SQL Server 跨資料庫查詢

語句 select from 資料庫a.dbo.表a a,資料庫b.dbo.表b b where a.field b.field dbo 可以省略 如 select from 資料庫a.表a a,資料庫b.表b b where a.field b.field sqlserver資料庫 這句是對映乙個...

sqlserver跨資料庫操作

1 方法一 建立鏈結伺服器 建立鏈結伺服器 exec sp addlinkedserver srv lnk sqloledb 遠端伺服器名或ip位址 exec sp addlinkedsrvlogin srv lnk false null,使用者名稱 密碼 go 查詢示例 select from s...

SQLServer 跨資料庫訪問

首先,你要知道跨資料庫訪問的語法,如下 select from openrowset sqloledb driver server 伺服器位址 uid sa pwd 密碼 資料庫名.dbo.表名 如果沒有啟用ad hoc distributed queries,查詢結果是出錯的,如下描述 exec ...