麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > SQL Server > 正文

SQL Server 跨庫同步數據

2024-08-31 01:03:41
字體:
來源:轉載
供稿:網友
這篇文章主要為大家詳細介紹了SQL Server 跨庫同步數據的實現方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
 

最近有個需求是要跨庫進行數據同步,兩個數據庫分布在兩臺物理計算機上,自動定期同步可以通過SQL Server代理作業來實現,但是前提是需要編寫一個存儲過程來實現同步邏輯處理。這里的存儲過程用的不是opendatasource,而是用的鏈接服務器來實現的。存儲過程創建在IP1:192.168.0.3服務器上,需要將視圖v_custom的客戶信息同步到IP2:192.168.0.10服務器上的t_custom表中。邏輯是如果不存在則插入,存在則更新字段。

SQL Server 跨庫同步數據

create PROCEDURE [dbo].[p_pm_項目平臺客戶批量同步到報銷平臺](  @destserver nvarchar(50),  @sourceserver nvarchar(50))ASBEGIN  SET NOCOUNT ON;  --不存在則添加鏈接服務器,外部查詢必須指明IP地址,例如 select * from [IP].[database].[dbo].[table]  if not exists (select * from sys.servers where server_id!=0 and data_source=@destserver)  begin    exec sp_addlinkedserver  @server=@destserver  end  if not exists (select * from sys.servers where server_id!=0 and data_source=@sourceserver)  begin    exec sp_addlinkedserver  @server=@sourceserver  end    begin try     set xact_abort on    begin transaction               INSERT INTO [192.168.0.10].[dbCRM].[dbo].[t_custom] (客戶ID,                                客戶名稱,                客戶簡稱,                輸入碼,                查詢碼,                地址,                錄入登錄名,                錄入時間,                修改登錄名,                修改時間,                審批狀態ID,                審批狀態名稱,                是否審批結束,                審批操作時間,                項目管理客商編碼,                序號)        SELECT A.客戶ID,A.客戶名稱,                A.客戶簡稱,                dbo.fn_pm_GetPy(A.客戶名稱),                A.客戶編號+','+A.客戶名稱+','+dbo.fn_pm_GetPy(A.客戶名稱)+','+A.客戶簡稱+','+dbo.fn_pm_GetPy(A.客戶簡稱),                A.地址,                'admin',                getdate(),                null,                null,                'D65F87A8-79C8-4D1C-812D-AE4591E056A8',                '已審批',                1,                A.審批操作時間,                A.項目管理客商編碼,                0        FROM  [dbPM].[dbo].[v_custom] A        WHERE A.客戶ID NOT IN ( SELECT 客戶ID FROM  [192.168.0.10].[dbCRM].[dbo].[t_custom]);                                                                                  ----------------------------------存在更新-----------------------------------                                        update  A set               A.客戶名稱=B.客戶名稱,              A.客戶簡稱=B.客戶簡稱,              A.輸入碼=dbo.fn_pm_GetPy(B.客戶名稱),              A.查詢碼=B.客戶編號+','+B.客戶名稱+','+dbo.fn_pm_GetPy(B.客戶名稱)+','+B.客戶簡稱+','+dbo.fn_pm_GetPy(B.客戶簡稱),              A.地址=B.地址,              A.修改登錄名='admin',              A.修改時間=getdate(),              A.項目管理客商編碼 =B.項目管理客商編碼          from [192.168.0.10].[dbCRM].[dbo].[t_custom] A,[dbPM].[dbo].[v_custom] B           where A.客戶ID=B.客戶ID;                        commit transaction     end try     begin catch       select ERROR_NUMBER() as errornumber,ERROR_MESSAGE() as errormsg,ERROR_LINE() as errorline      rollback transaction     end catchEND

  如果沒有正確配置,經常會出現 消息 7391,級別 16,狀態 2,過程 xxxxx,第 XX 行 。無法執行該操作,因為鏈接服務器 "xxxxx" 的 OLE DB 訪問接口 "SQLNCLI" 無法啟動分布式事務。

  可以參照如下的配置:

SQL Server 跨庫同步數據

以上就是SQL Server 跨庫同步數據的實現方法,希望對大家的學習有所幫助。



注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美成人精品一级 | 久久精品视频在线看99 | 亚洲精品午夜电影 | 日本不卡一区二区三区在线观看 | 国产乱淫av | 羞羞视频免费网站含羞草 | 亚洲欧美日韩精品久久 | 久久久久久久久国产 | 中日韩乱码一二新区 | 日本a∨精品中文字幕在线 被啪羞羞视频在线观看 | 国产精品一品二区三区四区18 | 2级毛片| 国产精品久久久久久久久岛 | 毛片成人网 | 日本人乱人乱亲乱色视频观看 | 色视频在线观看 | 国产大片在线观看 | 91丝袜| 一级大片一级一大片 | 国产精品欧美久久久久一区二区 | 国产一级毛片国产 | 欧美激情999 | 欧美一级淫片免费视频黄 | 黄色午夜剧场 | 2023av在线视频 | 男男羞羞视频网站国产 | 国产亚洲精品久久久久久久久 | 亚洲天堂中文字幕在线观看 | 日韩黄a| xxxx hd videos | 久久久精品视频在线观看 | 欧美日韩免费看 | 制服丝袜日日夜夜 | 国产精选91 | 欧美视频一二三区 | 久草免费资源视频 | 黄色av免费电影 | 污黄视频在线观看 | 大学生一级毛片在线视频 | 杏美月av| 97中文字幕第一一一页 |