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

 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

 参考:http://blog.csdn.net/pengxuan/article/details/51742296

猜你喜欢

转载自www.cnblogs.com/lpjnote/p/10760051.html