使用sp_addlinkedserver访问同一服务器上的数据库 - 但使用不同的用户

时间:2016-04-18 13:32:27

标签: sql-server

我正在尝试在同一台服务器上使用另一个数据库,但我当前的db-user无法访问另一台数据库。
我尝试sp_addlinkedserver - 将服务器链接到自身,因此我可以使用sp_addlinkedsrvlogin来指定另一个用户,但是在我到达第二部分之前,我收到了拒绝许可的错误消息;我怀疑是因为它在同一台服务器上。

以下是我提出的建议:

exec sp_addlinkedserver
        @server= N'SameServer',
        @srvproduct= N'SQL Server';

exec sp_addlinkedsrvlogin
        @rmtsrvname= N'SameServer',
        @useself= N'FALSE',
        @rmtuser= N'AlternativeLogin',
        @rmtpassword= N'';

错误消息告诉我,用户缺少程序sp_MSaddserver_internal(?)以及sp_addlinkedsrvlogin

的权限

最终,我还想为连接使用别名,因为SameServer.dbName会让人感到困惑,而且我已经找到了这样做的答案,但很明显,因为我没有那么远,所以我不能测试一下。

1 个答案:

答案 0 :(得分:0)

如果您可以运行sp_addlinkedserver,那么您很可能已拥有访问其他数据库所需的权限。

如果您有权运行sp_addlinkedserver,那么sp_addlinkedsrvlogin将要求您知道" AlternativeLogin"的密码。或者它没有密码,因此您不需要链接服务器

sp_addlinkedserver和sp_addlinkedsrvlogin都需要提升权限,这些权限通常不会在sysadmin组外部委派

正确执行:询问您的系统管理员或DBA。