我正在尝试使用经过 SQL 身份验证的帐户来选择视图。此视图实际上是从本地驱动器(通过 LinkedServer)读取电子表格。我收到以下错误:
Msg 7416, Level 16, State 2, Line 1
Access to the remote server is denied because no login-mapping exists.
目前,链接服务器设置为对于上面列表中未定义的登录,将使用登录的当前安全上下文进行连接。电子表格位于同一台服务器上。
如何解决此错误并使用同一帐户选择视图?该帐户被添加为 db_owner。
PS 如果我使用 Windows 身份验证帐户运行视图,它工作正常
如果您查看How to Create a Linked Server文档,您将了解您当前的配置是这样工作的:
由于 Windows 上不存在您的 SQL Server 登录名,因此您无法访问该文件。
您应该创建到该特定登录名的映射,定义远程用户和密码,并在该服务器上具有读取文件的权限。
请注意,使用该 SQL Server 用户登录 SQL Server 的任何人都将拥有您在映射中定义的 Windows 登录权限。