zoukankan      html  css  js  c++  java
  • 不同服务器数据库之间的数据定时同步到sql server (支持mysql,oracle数据库同步到sql server)

    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])

  • 相关阅读:
    oracle创建表空间、用户
    even事件 浏览器兼容性
    java学习笔记01数据类型
    oracle行转列、列转行
    C#Form窗体通过代码改变尺寸
    JavaScript网页客户端系统文件操作FileSystemObject 对象
    主题:javascript进阶之变量篇转载http://www.javaeye.com/topic/19506
    javascript attachEvent和addEventListener 使用方法http://www.diybl.com/course/1_web/javascript/jsjs/20071226/94592.html
    动态添加表格问题
    javascript 打开新窗口
  • 原文地址:https://www.cnblogs.com/Gold-fangjin/p/9723586.html
Copyright © 2011-2022 走看看