在本地服务器上注册远程服务器的信息,创建linkedServer,操作代码如下:
exec sp_addlinkedserver @server='serveralias',@srvproduct='',@catalog='dbname',@provider='SQLOLEDB',
@provstr='DRIVER={SQL Server};Initial Catalog=dbname;SERVER=192.168.1.66;UID=sa;PWD=;'
其中@server名称随便取,@catalog为数据库名,@provider为数据库驱动,@provstr为连接字符串
然后使用
EXEC sp_addlinkedsrvlogin 'serveralias','false',NULL,'username','password',注册login帐号,然后你就可以执行一个Sql语句,试试看看是否可以从链接服务器中操作数据了,
例如:
select * from serveralias.dbo.userinfo
sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname '
[ , [ @useself = ] 'useself ' ][ , [ @locallogin = ] 'locallogin ' ]
[ , [ @rmtuser = ] 'rmtuser ' ][ , [ @rmtpassword = ] 'rmtpassword ' ]
示例
A. 使用各自的用户凭据将所有本地登录连接到链接服务器
此示例创建一个映射,以确保所有到本地服务器的登录都使用其各自的用户凭据连接到链接服务器 serveralias。
EXEC sp_addlinkedsrvlogin 'serveralias'
或
EXEC sp_addlinkedsrvlogin 'serveralias', 'true'
B. 使用指定的用户和密码将所有本地登录连接到链接服务器
此示例创建一个映射,以确保所有到本地服务器的登录都使用相同的登录 SQLUser 和密码 Password 连接到链接服务器 serveralias。
EXEC sp_addlinkedsrvlogin 'serveralias', 'false', NULL, 'SQLUser', 'Password'
C. 不使用任何用户凭据将所有本地登录连接到链接服务器
此示例创建一个映射,以确保所有到本地服务器的登录都连接到链接服务器 serveralias,而不使用登录或密码(serveralias不需要登录或密码)。
EXEC sp_addlinkedsrvlogin 'serveralias', 'false', NULL, NULL, NULL
-或-
EXEC sp_addlinkedsrvlogin 'serveralias', 'false'
D. 使用不同的用户凭据将特定的登录连接到链接服务器
此示例创建一个映射,以确保只有 Windows NT 用户 Domain\Mary 使用登录 MaryP 和密码 NewPassword 连接到链接服务器 serveralias。
EXEC sp_addlinkedsrvlogin 'serveralias', 'false', 'Domain\Mary', 'MaryP', 'NewPassword'
E. 将特定的登录连接到 Excel 电子表格(链接服务器)
此示例首先创建一个名为 ExcelSource 的链接服务器,定义为 Microsoft Excel 电子表格 DistExcl.xls,然后创建一个映射以允许 SQL Server 登录 sa 使用 Excel 登录 Admin 连接到 ExcelSource,并且没有密码。
EXEC sp_addlinkedserver 'ExcelSource', 'Jet 4.0',
'Microsoft.Jet.OLEDB.4.0',
'c:\MyData\DistExcl.xls',
NULL,
'Excel 5.0'
GO
EXEC sp_addlinkedsrvlogin 'ExcelSource', 'false', 'sa', 'Admin', NULL
阅读(1151) | 评论(0) | 转发(0) |