在B服务器上连接A服务器exec sp_addlinkedserver 'srv_lnk','','sqloledb','A服务器器名或ip地址' exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'select * from srv_lnk.a.date.表名 a
--创建链接服务器 exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','B服务器名或ip地址' exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码' go --查询示例 select * from srv_lnk.Data.dbo.table1 union all select * from Data.dbo.table1 --以后不再使用时删除链接服务器 exec sp_dropserver 'srv_lnk','droplogins' go
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'select *
from srv_lnk.a.date.表名 a
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','B服务器名或ip地址'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
go
--查询示例
select * from srv_lnk.Data.dbo.table1
union all
select * from Data.dbo.table1
--以后不再使用时删除链接服务器
exec sp_dropserver 'srv_lnk','droplogins'
go
--创建链接服务器
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
go--查询示例
select * from srv_lnk.数据库名.dbo.表名
--以后不再使用时删除链接服务器
exec sp_dropserver 'srv_lnk','droplogins'
go--如果只是临时访问,可以直接用openrowset
--查询示例
select * from openrowset('SQLOLEDB'
,'sql服务器名';'用户名';'密码'
,数据库名.dbo.表名)
该操作未能执行,因为 OLE DB 提供程序 'sqloledb' 无法启动分布式事务而不能操作成功,是为什么呢
--exec master..xp_cmdshell 'isql /S"xz" /U"sa" /P"" /q"exec master..xp_cmdshell ''net start msdtc'',no_output"',no_output--启动本机的MSDTC服务
--exec master..xp_cmdshell 'net start msdtc',no_output