• SQL 跨数据库同步数据 、跨数据库跨更新数据


      1 --创建链接服务器 
      2 
      3 exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' 
      4 
      5 exec sp_addlinkedsrvlogin  'ITSV ', 'false ',null, '用户名 ', '密码 ' 
      6 
      7  
      8 
      9 --查询示例 
     10 
     11 select * from ITSV.数据库名.dbo.表名 
     12 
     13  
     14 
     15 --导入示例 
     16 
     17 select * into 表 from ITSV.数据库名.dbo.表名 
     18 
     19  
     20 
     21 --以后不再使用时删除链接服务器 
     22 
     23 exec sp_dropserver  'ITSV ', 'droplogins ' 
     24 
     25  
     26 
     27 --连接远程/局域网数据(openrowset/openquery/opendatasource) 
     28 
     29 --1、openrowset 
     30 
     31  
     32 
     33 --查询示例 
     34 
     35 select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) 
     36 
     37  
     38 
     39 --生成本地表 
     40 
     41 select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) 
     42 
     43  
     44 
     45 --把本地表导入远程表 
     46 
     47 insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) 
     48 
     49 select *from 本地表 
     50 
     51  
     52 
     53 --更新本地表 
     54 
     55 update b 
     56 
     57 set b.列A=a.列A 
     58 
     59  from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b 
     60 
     61 on a.column1=b.column1 
     62 
     63  
     64 
     65 --openquery用法需要创建一个连接 
     66 
     67  
     68 
     69 --首先创建一个连接创建链接服务器 
     70 
     71 exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' 
     72 
     73 --查询 
     74 
     75 select * 
     76 
     77 FROM openquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ') 
     78 
     79 --把本地表导入远程表 
     80 
     81 insert openquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ') 
     82 
     83 select * from 本地表 
     84 
     85 --更新本地表 
     86 
     87 update b 
     88 
     89 set b.列B=a.列B 
     90 
     91 FROM openquery(ITSV,  'SELECT * FROM 数据库.dbo.表名 ') as a  
     92 
     93 inner join 本地表 b on a.列A=b.列A 
     94 
     95  
     96 
     97 --3、opendatasource/openrowset 
     98 
     99 SELECT   * 
    100 
    101 FROM   opendatasource( 'SQLOLEDB ',  'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta 
    102 
    103 --把本地表导入远程表 
    104 
    105 insert opendatasource( 'SQLOLEDB ',  'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ').数据库.dbo.表名 
    106 
    107 select * from

     执行的时候如果报错就执行下面两句  ;

    exec sp_configure 'show advanced options',1
    reconfigure
    exec sp_configure 'Ad Hoc Distributed Queries',1
    reconfigure

    跨表更新表数据

    exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', 'SERVERSQLEXPRESS' --创建远程数据库连接的存储过程
    
    --exec sp_dropserver  'ITSV ', 'droplogins' --  该行不执行  删除存储过程
     
    --更新本地表 
    update b 
    set b.Levels=a.Levels,b.Plogons=a.Plogons
    FROM openquery(ITSV,  'SELECT * FROM LandSection.dbo.LandLevel') as a  
    inner join [dbo].[landlevel] b on a.ID=b.ID
  • 相关阅读:
    ie下常见的css兼容问题
    jQuery Easing 使用方法及其图解
    数组中常用的15个方法
    js按位运算符及其妙用
    图片格式知多少
    Linux top命令的用法详解
    Another app is currently holding the yum lock; waiting for it to exit...
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this S tatem
    Gitlab与Jenkins结合构成持续集成(CI)环境
    cobbler无人值守安装
  • 原文地址:https://www.cnblogs.com/longshanshan/p/7677584.html
Copyright © 2020-2023  润新知