Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 使用sp_addlinkedserver访问同一服务器上的数据库-但用户不同_Sql Server - Fatal编程技术网

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

Sql server 使用sp_addlinkedserver访问同一服务器上的数据库-但用户不同,sql-server,Sql Server,我正在尝试使用同一服务器上的另一个数据库,但我的当前数据库用户无法访问另一个数据库。 我试图sp_addlinkedserver-将服务器链接到自身,这样我就可以使用sp_addLinkedServLogin指定另一个用户,但在进入第二部分之前,我收到了拒绝权限的错误消息;我怀疑是因为它在同一台服务器上 以下是我的想法: exec sp_addlinkedserver @server= N'SameServer', @srvproduct= N'SQL Serve

我正在尝试使用同一服务器上的另一个数据库,但我的当前数据库用户无法访问另一个数据库。
我试图
sp_addlinkedserver
-将服务器链接到自身,这样我就可以使用
sp_addLinkedServLogin
指定另一个用户,但在进入第二部分之前,我收到了拒绝权限的错误消息;我怀疑是因为它在同一台服务器上

以下是我的想法:

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_msadserver_internal
(?)以及
sp_addlinkedsrvlogin


最后,我还想为连接使用一个别名,因为SameServer.dbName会让人困惑,我已经找到了这样做的答案,但很明显,因为我还没有做到这一点,所以我无法测试这一点。

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

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

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


正确操作:询问您的系统管理员或DBA。

“SameServer.dbName将令人困惑”比使用链接服务器更令人困惑?任何有丰富经验的SQL开发人员都会理解SameServer.dbName的工作。请注意,如果它位于同一台服务器上,则可以使用
dbName..{table}
Sorry。令人困惑的是:如何知道我是指链接连接还是直接访问另一个表。因此我需要一个别名。我有两个登录名(一个没有密码),但它们都只能访问一个数据库,而不能访问另一个数据库。但我想权利的提升将是我在这里的转折点。我们去系统管理员那里。非常感谢。