zoukankan      html  css  js  c++  java
  • SQL SERVER数据库同步示例

     

    一.使用场景:

    1)  用Job定时同步两个数据库数据时,作为Job的执行脚本;

    2)  手工同步数据时的执行脚本。

    二.具体示例:

    USE LocalDatabaseName;

    GO

    --创建链接服务器

    IF NOT EXISTS (select * from sys.servers where name = 'RemoteServer')

     BEGIN

       EXEC sp_addlinkedserver 'RemoteServer', '','SQLNCLI', 'xx.xx.xx.xx'

     END

    go

    --登录链接服务器

    EXEC sp_addlinkedsrvlogin 'RemoteServer', 'false', null, 'RemoteServer username', 'RemoteServer password'

    go

    --将本地表最新数据同步到链接服务器对应表

    INSERT INTO OPENQUERY([RemoteServer], 'SELECT * FROM RemoteDatabaseName.dbo.RemoteTableName')

    SELECT r.* FROM LocalTableName r

    WHERE r.id > (

        SELECT maxID FROM OPENQUERY([RemoteServer], 'SELECT MAX(id) maxID FROM RemoteDatabaseName.dbo.RemoteTableName')

    )

    go

    --退出链接服务器

    EXEC sp_droplinkedsrvlogin 'RemoteServer', null

    go

    --删除链接服务器

    EXEC sp_dropserver 'RemoteServer', 'droplogins'

    Go

    三.相关命令参考:

    sp_addlinkedserver (Transact-SQL)

    http://msdn.microsoft.com/zh-cn/library/ms190479.aspx

    sp_addlinkedsrvlogin (Transact-SQL)

    http://msdn.microsoft.com/zh-cn/library/ms189811.aspx

    sp_droplinkedsrvlogin (Transact-SQL)

    http://msdn.microsoft.com/zh-cn/library/75a4a040-72d5-4d29-8304-de0aa481ad4b

    sp_dropserver (Transact-SQL)

    http://msdn.microsoft.com/zh-cn/library/ms174310.aspx

    OPENQUERY (Transact-SQL)

    http://msdn.microsoft.com/zh-cn/library/ms188427.aspx

  • 相关阅读:
    iOS 整理面试题(上)
    2021年十大白马名单
    RabbitMQ:消息重复消费
    RabbitMQ:保证消息的顺序性
    RabbitMQ:保证消息的可靠性传输
    AWS S3 大文件分片上传
    rebase 用法小结
    Flask at scale
    MySQL分区
    动态规划示例题
  • 原文地址:https://www.cnblogs.com/jacktang/p/2938990.html
Copyright © 2011-2022 走看看