不一樣服務器數據庫之間的數據定時同步到sql server (支持mysql,oracle數據庫同步到sql server)

1,在目標數據庫新增服務器對象->鏈接到服務器->新建服務器鏈接sql

 

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,設置定時做業服務器

一、打開本地數據鏈接,在左邊資源管理器中找到Sql Server代理(在最下面)spa

二、【新建】一個做業代理

三、在【常規】中填寫名稱便可,說明看我的習慣code

四、打開【步驟】,點擊【新建】,填寫【名稱】,選擇【數據庫】,在命令空白處填寫T-sql語句,而後點分析。xml

五、打開【計劃】,點擊【新建】,設置你想要的定時計劃,而後保存。對象

六、點擊【Sql Server代理】,右鍵啓動,即定時做業啓動。blog

七、若是想讓定時做業開機自動啓動,則在 服務中找到SQL Server 代理 (MSSQLSERVER),設置成【自動】模式資源

第三步:把定時做業生成腳本

方法一、點擊【SQL Server 代理】下的做業,選中你建立的做業——右鍵編寫做業腳本——create到,而後複製腳本語言便可

方法二、發現有博主這樣寫的(管理-SQL Server代理-做業(鼠標右鍵)-全部任務-生成SQL腳本-保存到下的某個sql文件 [Page])

相關文章
相關標籤/搜索