欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用sqlserver 链接远程服务器进行查询

程序员文章站 2022-03-24 17:57:01
参考:http://blog.csdn.net/pengxuan/article/details/51742296 ......
 1 --创建链接服务器
 2 exec sp_addlinkedserver   'itsv ', ' ', 'sqloledb ', '远程服务器名或ip地址 '
 3 exec sp_addlinkedsrvlogin 'itsv ', 'false ',null, '用户名 ', '密码 '
 4  
 5 --查询示例
 6 select * from itsv.数据库名.dbo.表名
 7  
 8 --导入示例
 9 select * into 表 from itsv.数据库名.dbo.表名
10  
11 --以后不再使用时删除链接服务器
12 exec sp_dropserver  'itsv ', 'droplogins '
13  
14 --(openrowset/openquery/opendatasource)
15 --1、openrowset
16  
17 --查询示例
18 select * from openrowset( 'sqloledb ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
19  
20 --生成本地表
21 select * into 表 from openrowset( 'sqloledb ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
22  
23 --把本地表导入远程表
24 insert openrowset( 'sqloledb ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
25 select *from 本地表
26  
27 --更新本地表
28 update b
29 set b.列a=a.列a
30 from openrowset( 'sqloledb ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b
31 on a.column1=b.column1
32  
33 --openquery用法需要创建一个连接
34  
35 --首先创建一个连接创建链接服务器
36 exec sp_addlinkedserver   'itsv ', ' ', 'sqloledb ', '远程服务器名或ip地址 '
37 --查询
38 select *
39 from openquery(itsv,  'select *  from 数据库.dbo.表名 ')
40 --把本地表导入远程表
41 insert openquery(itsv,  'select *  from 数据库.dbo.表名 ')
42 select * from 本地表
43 --更新本地表
44 update b
45 set b.列b=a.列b
46 from openquery(itsv,  'select * from 数据库.dbo.表名 ') as a 
47 inner join 本地表 b on a.列a=b.列a
48  
49 --3、opendatasource/openrowset
50 select   *
51 from   opendatasource( 'sqloledb ',  'data source=ip/servername;user id=登陆名;password=密码 ' ).test.dbo.roy_ta

 参考: