1. /*1、创建链接服务器查询*/
  2. --创建链接服务器
  3. exec sp_addlinkedserver 'remote_server', '', 'SQLOLEDB', '远程服务器名或ip地址'
  4. exec sp_addlinkedsrvlogin 'remote_server', 'false',null, '用户名', '密码'
  5.  
  6. --查询示例
  7. select * from remote_server.数据库名.dbo.表名
  8.  
  9. --导入示例
  10. select * into from remote_server.数据库名.dbo.表名
  11.  
  12. --以后不再使用时删除链接服务器
  13. exec sp_dropserver 'remote_server', 'droplogins'
  14.  
  15. /*2、SQL临时连接远程/局域网数据(openrowset/openquery/opendatasource) */
  16. --openrowset
  17. --查询示例
  18. select * from openrowset( 'SQLOLEDB', 'sql服务器名'; '用户名'; '密码',数据库名.dbo.表名)
  19. --生成本地表
  20. select * into from openrowset( 'SQLOLEDB', 'sql服务器名'; '用户名'; '密码',数据库名.dbo.表名)
  21. --把本地表导入远程表
  22. insert openrowset( 'SQLOLEDB', 'sql服务器名'; '用户名'; '密码',数据库名.dbo.表名)
  23. select *from 本地表
  24.  
  25. --更新本地表
  26. update b
  27. set b.列A=a.列A
  28. from openrowset( 'SQLOLEDB', 'sql服务器名'; '用户名'; '密码',数据库名.dbo.表名)as a inner join 本地表 b
  29. on a.column1=b.column1
  30.  
  31. --openquery用法需要创建一个连接
  32. --首先创建一个连接创建链接服务器
  33. exec sp_addlinkedserver 'remote_server', '', 'SQLOLEDB', '远程服务器名或ip地址'
  34. --查询
  35. select *
  36. FROM openquery(remote_server, 'SELECT * FROM 数据库.dbo.表名')
  37. --把本地表导入远程表
  38. insert openquery(remote_server, 'SELECT * FROM 数据库.dbo.表名')
  39. select * from 本地表
  40. --更新本地表
  41. update b
  42. set b.列B=a.列B
  43. FROM openquery(remote_server, 'SELECT * FROM 数据库.dbo.表名') as a
  44. inner join 本地表 b on a.列A=b.列A
  45.  
  46. /*opendatasource/openrowset */
  47. SELECT *
  48. FROM opendatasource( 'SQLOLEDB', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码').test.dbo.roy_ta
  49. --把本地表导入远程表
  50. insert opendatasource( 'SQLOLEDB', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码').数据库.dbo.表名
  51. select * from
  1. /*
  2. sqlserver 连接远程sqlserver数据库
  3. */
  4. /*1、新增链接服务器*/
  5. exec sp_addlinkedserver
  6. @server='remote_server', /*链接服务器的名称*/
  7. @srvproduct='',
  8. @provider='SQLOLEDB',
  9. @datasrc='110.1.2.3' /*要访问的服务器,逗号分割可加端口号*/
  10. go
  11.  
  12. /*2、使用sp_addlinkedsrvlogin 来增加用户登录链接*/
  13. EXEC sp_addlinkedsrvlogin
  14. @rmtsrvname = 'remote_server', /*链接服务器的名称*/
  15. @useself = 'false', /*指定 rmtuser 和 rmtpassword 参数用来连接到特定 locallogin 的 rmtsrvname*/
  16. @locallogin = 'sa', /*指定 SQL Server 登录用户*/
  17. @rmtuser = 'sa', /*指定用户名*/
  18. @rmtpassword = 'password' /*指定密码*/
  19. go
  20.  
  21. /*3、数据查询*/
  22. select * from [remote_server].[remote_db_name].dbo.remote_table_name;
  23.  
  24. /*4、删除链接*/
  25. EXEC master.dbo.sp_dropserver @server=N'remote_server', @droplogins='droplogins'
  26. go
  1. SqlServer数据库:
  2.  
  3. --这句是映射一个远程数据库
  4. EXEC sp_addlinkedserver '远程数据库的IP或主机名',N'SQL Server'
  5.  
  6. --这句是登录远程数据库
  7. EXEC sp_addlinkedsrvlogin '远程数据库的IP或主机名', 'false', NULL, '登录名', '密码'
  8.  
  9. --登录后,可以用以下格式操作远程数据库中的对象
  10. select * from [远程数据库的IP或主机名].[数据库名].[dbo].[表名]
  1. insert into openrowset('sqloledb','192.168.0.100';'sa';'10060','select * from knss2009.dbo.yw_kck') select * from yw_kck

SQL Server 跨数据库查询的更多相关文章

  1. SQL Server跨服务器查询的实现方法,OpenDataSource

    SQL Server跨服务器查询的方法我们经常需要用到,下面就为您介绍两种SQL Server跨服务器查询的方法,如果您感兴趣的话,不妨一看. SQL Server跨服务器查询方法一:用OPENDAT ...

  2. [转] sql server 跨数据库调用存储过程

    A库存储过程: create PROCEDURE [dbo].[spAAAForTest] ( ) =null , ) =null ) AS BEGIN select N'A' AS a , N'B' ...

  3. SQL Server跨库查询

    方式一: 语句 SELECT * FROM 数据库A.dbo.表A a, 数据库B.dbo.表B b WHERE a.field=b.field "DBO"可以省略 如 SELEC ...

  4. sql server多数据库查询 远程数据库查询

    --创建链接服务器 exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','服务器地址' exec sp_addlinkedsrvlogin 'srv_lnk ...

  5. SQL Server跨数据库 增删查改

    比如你在库A ,想查询库B的表.可以用 数据库名.架构名.表名的方式查询 select * from 数据库B.dbo.表1 也可以在存储过程中这样使用. 需要注意的是,如果使用这样的查询方式,你必须 ...

  6. sql server 跨数据库调用存储过程

    A库存储过程: create PROCEDURE [dbo].[spAAAForTest] ( ) =null , ) =null ) AS BEGIN select N'A' AS a , N'B' ...

  7. SQL Server 跨库查询

    1. 开启Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句: reconfigure reconfigure 2. 跨库查询操作 select * from ...

  8. SQL Server跨服务器查询

    来源:https://www.cnblogs.com/tylerflyn/p/8339895.html 创建链接服务器 exec sp_addlinkedserver 'ITSV', ' ', 'SQ ...

  9. sql server 跨数据库插入数据

    创建服务器的连接,创建好后可以存在服务器上,可以在不同位置重复使用,和系统函数类似 exec sp_addlinkedserver 'RemoteServer', '', 'SQLOLEDB ', ' ...

随机推荐

  1. 给linux添加yum源。

    在玩linux的过程中,经常会下载一些源码包.软件大多是国外人写的,由于众所周知的原因,网络下载很慢. 所以想到了更新yum源的方法. 我的linux版本是CentOS6.3的. 以下参考百度. 1, ...

  2. UVALive 3989Ladies' Choice(稳定婚姻问题)

    题目链接 题意:n个男生和女生,先是n行n个数,表示每一个女生对男生的好感值排序,然后是n行n列式每一个男生的好感值排序,输出N行,即每个女生在最好情况下的男生的编号 分析:如果是求女生的最好情况下, ...

  3. CentOS设置默认启动命令行(不启动图形界面)

    Linux 启动的时候可以选择纯文本或者是窗口环境,这就牵涉了运行等级这个问题.Linux 默认提供了 7 个 Run level 给我们使用,其中我们最常用的就是 run level3 和run l ...

  4. Struts2-----面试题汇总

    1.struts2框架中,从用户发出请求到获得响应整个过程的流转图 FilterDispatcher --> ActionProxy-->Configuration Manager--&g ...

  5. liunx 的 grep命令(转载)

    简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...

  6. HBase Shell 常用命令及例子

    下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令表达式 创建表 create '表名称', '列名称1','列名称2','列名称N ...

  7. matlab注释

    单行注释: 两个'%': 多行注释: A. %{ 若干语句 %} B. 注释: 选中要注释的若干语句, 编辑器菜单Text->Comment, 或者快捷键Ctrl+R 取消注释: 选中要取消注释 ...

  8. JS获取select选中的值,所有option值

    <select name="myselect" id="myselect"> <option value="2042"&g ...

  9. 用arp-scan扫描局域网IP地址

    1,在安装之前需要安装yum install -y libpcap libpcap-devel如果没有安装yum工具需要用rpm安装如下软件包[root@oradba arp-scan-1.8]# y ...

  10. HTMl5结构元素:article

    article: 表示文档.页面.应用程序或站点中的自包含成分所构成的一个页面的一部分,并且这部分专用于独立地分类或复用.(例如:一个博客的帖子,一篇文章,一个视频文件等.)和<nav>一 ...