怎样可以在存储过程里访问另一台windows认证MSSQL的服务器里的数据(200分)

M

me_x

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样可以在存储过程里访问另一台windows认证MSSQL(没有SQLServer认证)的服务器里的数据,
 
使用SQLSERVER的链接服务器

服务器.database.dbo.table_name
 
在存储过程里还没有登录到另外的那台nt论证的MSSQL服务器,怎么可以访问啊?
 
sql中建立别名就可以访问了
sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'
DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',
@rmtuser='sa',@rmtpassword='密码'
这样就可以建立别名了,在访问的时候用别名。数据库名。dbo.表名
这样就可以访问了,在使用完
sp_droplinkedsrvlogin @rmtsrvname = '192.168.2.44', @locallogin = 'sa'
sp_dropserver @server = '192.168.2.44'
这里使用的是sql中的默认的存储过成。[^]
 
这个例子在远程服务器 SQLSERVER1 上执行 checkcontract 存储过程,在 @retstat 中保存返回状态,说明运行成功或失败。

DECLARE @retstat int
EXECUTE @retstat = SQLSERVER1.pubs.dbo.checkcontract ''409-56-4008''

 
顶部