使用登录凭据跨服务器进行SQL选择查询

时间:2014-02-07 07:59:57

标签: sql sql-server sql-server-2008

我需要在server1上运行查询以从server2获取数据。使用“sp_addlinkedserver”我链接了两个服务器。

我无法从任何服务器运行查询以访问其他服务器数据。

错误显示sa

的登录失败

然后我为两台服务器制作了相同的密码。现在我可以运行查询了。

我的问题是,如何在服务器上使用不同的登录凭据运行查询?

有没有办法将server2登录凭据与查询一起传递?

感谢您的关注

2 个答案:

答案 0 :(得分:1)

您需要使用 sp_addlinkedsrvlogin 将凭据传递给该服务器。

此处有更多文档:sp_addlinkedsrvlogin

答案 1 :(得分:1)

您可以使用OpenRowSet从具有Credential的其他服务器中选择

例如

INSERT INTO VMIntranetTest.dbo.TestTable (a.FirstName, a.LastName, a.Age)
SELECT a.FirstName, a.LastName, a.Age FROM
OPENROWSET('vmas400',
           'Server=192.168.1.2;Trusted_Connection=yes;user_id=INTRAIS;password=****',
           'SELECT FNAME, LNAME, AGE FROM BSLIB.dbo.SQLTSTF' ) as a

OpenRowSet