用sp_addlinkedserver建立链接服务器(sql server2008中通过测试)
--在SQL SERVER 2008里,可以按以下的方式建立链接服务器 |
EXEC sp_addlinkedserver @server= 'Test' , --这里是给链接服务器取的别名,想取什么名就取什么 |
@srvproduct= '' , |
@provider= 'SQLOLEDB' , |
@datasrc= '10.3.20.95\sqlexpress' |
--这里的datasrc是要链接的数据库的实例的地址(就是数据库连接字符串里的server,比如本机就是.或者local,或者目标数据库实例的IP(可以加端口)) |
--如果不是同一台机器的话,还要执行以下语句来设置sa登录映射
EXEC sp_addlinkedsrvlogin 'Test','false',NULL,'sa','123456'
建好后会在Server Objects下的Linked Servers里出现刚刚添加的连接服务器标志
--链接服务器建立上了之后,就可以按以下的方式来操作了,就跟操作本地数据库一样了
select * from test.testdb.dbo.userinfo
--为链接服务器里的表创建同义词
--以下这条命令在tempdb中为链接服务器Test中的TestDB中的dbo.UserInfo表创建了一个同义词dbo.UserInfo
USE [tempdb] GO
/****** Object: Synonym [dbo].[TestDB] Script Date: 07/15/2011 10:20:15 ******/
CREATE SYNONYM [dbo].UserInfo FOR [Test].[TestDB]. [dbo].UserInfo GO
select * from dbo.userinfo --就像操作当前实例的表一样操作链接=服务器上的表
--建立链接服务器并创建同义词,有一个最大的好处,就是可以跨数据库实例进行操作数据库,可以在一个数据库连接内完成数据操作,方便做事务查询。
--以下两条命令是来删除链接服务器的
Exec sp_droplinkedsrvlogin Test,Null
Exec sp_dropserver Test