MSSQL 访问远程数据库(跨服务器访问)

by MN-SOFT.COM 12. 八月 2011 08:51

1、确保当前登录帐户是该数据库的管理员

2、通过系统存储过程 sys.sp_addlinkedserver 给 sys.servers 表中插入一条远程链接服务器信息

3、通过 sys.sp_addlinkedsrvlogin 设置登录信息。

4、使用注册在 sys.servers 表中的 name 字段作为实例名,便可访问远程数据库。

语法: 

SELECT * FROM InstanceName.DataBase.Schema.TableName

在使用结束后,可通过 sys.sp_dropserver 删除刚注册的链接服务器信息。  

Demo:

IF NOT EXISTS(SELECT TOP 1 1 FROM sys.servers WHERE name = 'Tag')
BEGIN
	--创建链接服务器
	EXEC sys.sp_addlinkedserver	
		@server='Tag',			--自定义一个别名
		@datasrc = '127.0.0.1',	--服务器地址
		@provider = N'SQLNCLI',	--服务器类型,如:SQL Server=SQLNCLI,Oracle=MSDAORA
		@srvproduct=N''			--SQL Server不必指定

	--登录链接服务器
	EXEC sys.sp_addlinkedsrvlogin
		@rmtsrvname = 'Tag',	-- sp_addlinkedsrvlogin 中指定的 @server 参数值
		@useself = 'false',		--TRUE:使用当前凭据登录;FALSE:使用参数登录
		@rmtuser = 'userID',	--登录名
		@rmtpassword = 'password'--密码
END

IF EXISTS(SELECT TOP 1 1 FROM sys.servers WITH(NOLOCK) WHERE name = 'Tag')
BEGIN
	--删除链接服务器
	EXEC sys.sp_dropserver 
		@server = 'Tag',			--要删除的服务器
		@droplogins = 'droplogins'	--删除所有关联的远程登录名,不指定时不删除登录名
END

--查看已有的链接服务器
SELECT * FROM sys.servers
--或
EXEC sys.sp_helpserver

Creative Commons License 本文基于署名-非商业性使用-相同方式共享 3.0 Unported许可协议发布,欢迎转载或创作演绎作品,但是必须保留本文的署名迷你软件(包含链接),具体操作方式可参考此处。如您有任何疑问或者授权方面的协商,请给我留言

Tags:

SQL

评论 (1) -

shanghai escorts
2011-9-4 12:15:50 #

一直在找跨服务器连接数据库的资料。谢谢分享。

回复

添加评论




biuquote
  • 评论
  • 在线预览
Loading






关于

迷你软件为您提供免费绿色的软件产品。

联系邮箱:admin@mn-soft.com

RecentComments

Comment RSS