我在两个不同的服务器上有两个数据库,它们具有不同的凭据来访问它们。
我需要从第一个数据库的上下文中调用第二个数据库中的存储过程。但是,出于安全目的,两个数据库之间的用户并不相同。
当我打电话时:
DECLARE @OtherServer varchar(100) = 'MySecondServer'
DECLARE @OtherDatabase varchar(100) = 'MySecondDatabase'
DECLARE @sql nvarchar(4000) = N'SELECT * FROM ['+@OtherServer +'].['+@OtherDatabase +'].dbo.Customer_Info'
EXEC sp_executesql @sql
如果与我连接到第一个数据库的方式不同,如何指定要传递的用户名和密码?
答案 0 :(得分:0)
尽管我不想只给您一个链接,但是sp_addlinkedserverlogin
的BOL文档(而且我认为可能是一些相关文章)涵盖了我认为应该回答您问题的深度。
对于远程服务器,呼叫就像其他任何请求一样。这是链接服务器的定义,它是控制与其连接的凭据的关联角色。
具体来说,请看示例“ B”,该示例讨论将链接的服务器与特定用户相关联。