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。令人困惑的是:如何知道我是指链接连接还是直接访问另一个表。因此我需要一个别名。我有两个登录名(一个没有密码),但它们都只能访问一个数据库,而不能访问另一个数据库。但我想权利的提升将是我在这里的转折点。我们去系统管理员那里。非常感谢。