首先必须理解一个概念:

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

要想跨域就必须在以上信息中可以检索到!

怎样添加?


测试演示:

--创建链接服务器 

 
 
 exec 
 sp_addlinkedserver   
 'ITSV '
 , 
 ' '
 , 
 'SQLOLEDB '
 , 
 '远程服务器名或ip地址 ' 

 
 
 exec 
 sp_addlinkedsrvlogin  
 'ITSV '
 , 
 'false '
 ,
 null
 , 
 '用户名 '
 , 
 '密码 ' 

 

   

 
 
 --查询示例 

 
 
 select 
 * 
 from 
 ITSV.数据库名.dbo.表名 

 

   

 
 
 --导入示例 

 
 
 select 
 * 
 into 
 表 
 from 
 ITSV.数据库名.dbo.表名 

 

   

 
 
 --以后不再使用时删除链接服务器 

 
 
 exec 
 sp_dropserver  
 'ITSV '
 , 
 '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 
 b 

 
 
 set 
 b.列A=a.列A 

 
 
 
 from 
 openrowset( 
 'SQLOLEDB '
 , 
 'sql服务器名 '
 ; 
 '用户名 '
 ; 
 '密码 '
 ,数据库名.dbo.表名)
 as 
 a 
 inner 
 join 
 本地表 b 

 
 
 on 
 a.column1=b.column1 

 

   

 
 
 --openquery用法需要创建一个连接 

 

   

 
 
 --首先创建一个连接创建链接服务器 

 
 
 exec 
 sp_addlinkedserver   
 'ITSV '
 , 
 ' '
 , 
 'SQLOLEDB '
 , 
 '远程服务器名或ip地址 ' 

 
 
 --查询 

 
 
 select 
 * 

 
 
 FROM 
 openquery(ITSV,  
 'SELECT *  FROM 数据库.dbo.表名 '
 ) 

 
 
 --把本地表导入远程表 

 
 
 insert 
 openquery(ITSV,  
 'SELECT *  FROM 数据库.dbo.表名 '
 ) 

 
 
 select 
 * 
 from 
 本地表 

 
 
 --更新本地表 

 
 
 update 
 b 

 
 
 set 
 b.列B=a.列B 

 
 
 FROM 
 openquery(ITSV,  
 '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 

 
 
 --把本地表导入远程表 
user master;
exec sp_addlinkedserver   '41f0bcc ', ' ', 'SQLOLEDB ', '192.168.7.21' 
 exec sp_addlinkedsrvlogin  '41f0bcc ', 'false ',null, 'sa ', 'q1w2e3e3r45tr4t5' select * from [41f0bcc].eStoreDB.dbo.V_standard_ORG