1,在目標數據庫新增服務器對象->連接到服務器->新建服務器連接
2,編寫數據同步業務PROC
ALTER PROC TestProc AS BEGIN --打開完全事物回滾 SET XACT_ABORT ON; SET NOCOUNT ON; --開始異常攔截 BEGIN TRY --開始事物 BEGIN TRANSACTION; PRINT '開始同步數據'; MERGE INTO dbo.TestTable AS T USING ( SELECT ROW_NUMBER() OVER (ORDER BY CREATE_DATE DESC) AS Id, NAME, PHONE FROM [TEST_OGU].[Hyx_Finance_DB].[dbo].[TBL_CUSTOMER_RELATIONSHIP] ) AS d ON T.Name = d.NAME AND T.Phone = d.PHONE --是否存在(存在更新) WHEN MATCHED THEN UPDATE SET Name = d.NAME, Phone = d.PHONE --不存在數據(新增數據) WHEN NOT MATCHED THEN INSERT ( Name, Phone ) VALUES (d.NAME, d.PHONE); PRINT '同步數據結束'; --提交事物 COMMIT TRANSACTION; --結束異常攔截 END TRY BEGIN CATCH --回滾事物 IF XACT_STATE() <> 0 BEGIN ROLLBACK TRANSACTION; END; END CATCH; --還原事物設置 SET XACT_ABORT OFF; END;
3,設置定時作業
1、打開本地數據連接,在左邊資源管理器中找到Sql Server代理(在最下面)
2、【新建】一個作業
3、在【常規】中填寫名稱即可,說明看個人習慣
4、打開【步驟】,點擊【新建】,填寫【名稱】,選擇【數據庫】,在命令空白處填寫T-sql語句,然后點分析。
5、打開【計划】,點擊【新建】,設置你想要的定時計划,然后保存。
6、點擊【Sql Server代理】,右鍵啟動,即定時作業啟動。
7、如果想讓定時作業開機自動啟動,則在 服務中找到SQL Server 代理 (MSSQLSERVER),設置成【自動】模式
第三步:把定時作業生成腳本
方法1、點擊【SQL Server 代理】下的作業,選中你創建的作業——右鍵編寫作業腳本——create到,然后復制腳本語言即可
方法2、發現有博主這樣寫的(管理-SQL Server代理-作業(鼠標右鍵)-所有任務-生成SQL腳本-保存到下的某個sql文件 [Page])