• SQL Server中跨服务器跨数据库之间的数据增删改查


    首先查看系统表:

    select * from sys.servers         (查看系统表,看原来的服务器名)

    1.添加服务器名

    --创建链接服务器 
    HBSV (名字随便取)
    exec sp_addlinkedserver   'HBSV'' ''SQLOLEDB ''远程服务器名或ip地址 ' 
    exec sp_addlinkedsrvlogin  '''false ',null'用户名 ''密码 ' 
     
    --查询示例 
    select from  HBSV.数据库名.dbo.表名 
     例如:select * from [HBSV].sweets.dbo.user_detail ;
    --导入示例 
    select into 表 from  HBSV.数据库名.dbo.表名 
     
    --导入本地 
    insert 本地数据库.dbo.表
    select from  HBSV.远程名字.dbo.表名 
     例如:insert SWEETSdbo.user_detail select * from [HBSV].sweets.dbo.user_detail
     
    --以后不再使用时删除链接服务器 
    exec sp_dropserver  'HBSV''droplogins ' 
     
    --连接远程/局域网数据(openrowset/openquery/opendatasource) 
    --1、openrowset 
     
    --查询示例 
    select from openrowset( 'SQLOLEDB ''sql服务器名 ''用户名 ''密码 ',数据库名.dbo.表名) 
     
    --生成本地表 
    select into 表 from openrowset( 'SQLOLEDB ''sql服务器名 ''用户名 ''密码 ',数据库名.dbo.表名) 
     
    --把本地表导入远程表 
    insert openrowset( 'SQLOLEDB ''sql服务器名 ''用户名 ''密码 ',数据库名.dbo.表名) 
    select *from 本地表 
     
    --更新本地表 
    update 
    set b.列A=a.列A 
     from openrowset( 'SQLOLEDB ''sql服务器名 ''用户名 ''密码 ',数据库名.dbo.表名)as inner join 本地表 b 
    on a.column1=b.column1 
     
    --openquery用法需要创建一个连接 
     
    --首先创建一个连接创建链接服务器 
    exec sp_addlinkedserver   'HBSV'' ''SQLOLEDB ''远程服务器名或ip地址 ' 
    --查询 
    select 
    FROM openquery(HBSV,  'SELECT *  FROM 数据库.dbo.表名 '
    --把本地表导入远程表 
    insert openquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 '
    select from 本地表 
    --更新本地表 
    update 
    set b.列B=a.列B 
    FROM openquery(HBSV,  'SELECT * FROM 数据库.dbo.表名 'as a  
    inner join 本地表 b on a.列A=b.列A 
     
    --3、opendatasource/openrowset 
    SELECT   
    FROM   opendatasource( 'SQLOLEDB ',  'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta 
    --把本地表导入远程表 

    测试演示:

    use master;

    exec sp_addlinkedserver   'HBSV', ' ', 'SQLOLEDB ', '192.168.7.10' 
    exec sp_addlinkedsrvlogin  'HBSV', 'false ',null, 'sa ', '123456' 

    select * from [HBSV].sweets.dbo.user_detial

  • 相关阅读:
    Lab IGMP
    IGMP知识要点
    15、通过例子讲解逻辑地址转换为物理地址的基本过程
    14、一个程序从开始运行到结束的完整过程,你能说出来多少?
    13、进程状态的切换你知道多少?
    12、虚拟技术你了解吗?
    11、动态分区分配算法有哪几种?可以分别说说吗?
    线程池
    10、内存交换和覆盖有什么区别?
    9、如果系统中具有快表后,那么地址的转换过程变成什么样了?
  • 原文地址:https://www.cnblogs.com/thcy1314/p/9887459.html
Copyright © 2020-2023  润新知