SQLsever 跨库查询

2021-01-08  本文已影响0人  YANG_LIVE

实用场景:
测试库dbA 在服务器 192.168.0.27
正式库dbB 在服务器 192.168.0.89

如何从dbB中插入数据到dbA中呢?

原始方法:直接导出数据,sqlsever会自动生成脚本,把拿来的脚本筛选 insert 语句 然后放到dbA中执行

更简单的方法就是直接连接两个服务器,形成互通性
链接服务器语句:

SELECT TOP ( 10 )
        *
FROM    OPENDATASOURCE('SQLOLEDB',
                       'Data Source=IP;User ID=D登录名;Password=密码').库名.dbo.表明;

1、先开启访问

--开启Ad Hoc Distributed Queries
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;

--关闭
EXEC sp_configure 'Ad Hoc Distributed Queries', 0;
RECONFIGURE;
EXEC sp_configure 'show advanced options', 0;
RECONFIGURE;

2、在测试库中执行链接插入测试表中

INSERT  [dbo].[SY_S_OPERATION]
        ( [FACILITY] ,
          [SITE] ,
          [OPERATION] ,
          [ACTIVE_INACTIVE] ,
          [SHIPING_ALLOW] ,
          [CREATOR] ,
          [CREATE_DATE]
        )
        SELECT TOP ( 100 )
               *
        FROM    OPENDATASOURCE('SQLOLEDB',
                               'Data Source=192.168.0.123;User ID=sa;Password=12345678@3¥5').iROCK.dbo.SY_S_OPERATION;
上一篇下一篇

猜你喜欢

热点阅读