SQLServer中跨服务器跨数据库之间的数据操作
发布时间:2020-12-12 13:54:39 所属栏目:MsSql教程 来源:网络整理
导读:首先必须理解一个概念: select?*?from?sys.servers?????????(查看系统表,看原来的服务器名) 要想跨域就必须在以上信息中可以检索到! 怎样添加? --创建链接服务器? exec ? sp_addlinkedserver??? 'ITSV?' ,? '?' 'SQLOLEDB?' '远程服务器名或ip地址?' ? sp
首先必须理解一个概念: select?*?from?sys.servers?????????(查看系统表,看原来的服务器名) 要想跨域就必须在以上信息中可以检索到! 怎样添加?
--创建链接服务器?
exec ?
sp_addlinkedserver???
'ITSV?'
,?
'?'
'SQLOLEDB?'
'远程服务器名或ip地址?' ?
sp_addlinkedsrvlogin??
'false?'
null
'用户名?'
'密码?' ?
?
--查询示例?
select?
*?
from ?
ITSV.数据库名.dbo.表名?
?
--导入示例?
into?
表?
ITSV.数据库名.dbo.表名?
?
--以后不再使用时删除链接服务器?
sp_dropserver??
'droplogins?' ?
?
--连接远程/局域网数据(openrowset/openquery/opendatasource)?
--1、openrowset?
?
--查询示例?
openrowset(?
'sql服务器名?'
;?
'密码?'
本地表?
?
--更新本地表?
update?
b?
set?
b.列A=a.列A?
?
as ?
a?
inner ?
join ?
本地表?b?
on?
a.column1=b.column1?
?
--openquery用法需要创建一个连接?
?
--首先创建一个连接创建链接服务器?
'远程服务器名或ip地址?'?
--查询?
*?
FROM?
openquery(ITSV,??
'SELECT?*??FROM?数据库.dbo.表名?'
)?
--把本地表导入远程表?
)?
本地表?
--更新本地表?
b?
b.列B=a.列B?
'SELECT?*?FROM?数据库.dbo.表名?'
)?
a??
本地表?b?
a.列A=b.列A?
?
--3、opendatasource/openrowset?
SELECT???
*?
FROM???
opendatasource(?
'Data?Source=ip/ServerName;User?ID=登陆名;Password=密码?' ?
).test.dbo.roy_ta?
--把本地表导入远程表?
测试演示: user master; exec sp_addlinkedserver ? '41f0bcc ',' ','SQLOLEDB ','192.168.7.21'? select * from [41f0bcc].eStoreDB.dbo.V_standard_ORG (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |