我试图运行一个调用存储过程(SQL Server 2012)的VBScript,该存储过程将记录插入到链接服务器表中。
该脚本返回以下错误:
Microsoft Access数据库引擎无法打开或写入文件' \ 999999999 \ 99999999 \ 9999999 \ 9999999.accdb'。它已由其他用户专门打开,或者您需要获得查看和写入其数据的权限。"。
没有其他人在使用该表。
但是,当我从Management Studio执行存储过程时,它工作正常。我认为问题与权限有关。如何授予用户对链接服务器的显式权限?
我为之前没有提供更多详细信息而道歉,我错误地认为有一个简单的解决方案,其中说的是更多细节:
此问题的关键是:当我在SSMS上以Windows身份验证用户身份登录时,我能够毫无问题地运行我的存储过程(连接到链接服务器)。随着我做更多的研究(并发现这不是一个简单的问题),需要添加几个技术要点:
如果我尝试从作业处理计算机作为SQL Server身份验证用户或使用可信连接运行VBScript,我无法访问链接服务器。
我的问题的关键是:为什么Windows Authenticated用户可以通过链接服务器连接到MS数据库而SQL用户不能
再次道歉,因为我没有提前提供这么多细节,但我错误地认为这是一个简单的安全问题。