使用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

 参考:

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐