从VBScript执行更新链接服务器表

时间:2016-02-03 10:12:01

标签: sql-server stored-procedures vbscript linked-server

我试图运行一个调用存储过程(SQL Server 2012)的VBScript,该存储过程将记录插入到链接服务器表中。

该脚本返回以下错误:

  

Microsoft Access数据库引擎无法打开或写入文件' \ 999999999 \ 99999999 \ 9999999 \ 9999999.accdb'。它已由其他用户专门打开,或者您需要获得查看和写入其数据的权限。"。

没有其他人在使用该表。

但是,当我从Management Studio执行存储过程时,它工作正常。我认为问题与权限有关。如何授予用户对链接服务器的显式权限?

我为之前没有提供更多详细信息而道歉,我错误地认为有一个简单的解决方案,其中说的是更多细节:

此问题的关键是:当我在SSMS上以Windows身份验证用户身份登录时,我能够毫无问题地运行我的存储过程(连接到链接服务器)。随着我做更多的研究(并发现这不是一个简单的问题),需要添加几个技术要点:

  1. SQL Server在子网上... 5.X
  2. Access数据库位于子网... 2.X
  3. VBScript从子网上的作业处理服务器运行... 5.X
  4. SQL Server上的Windows身份验证帐户具有链接服务器设置,可以使用IP地址和共享文件夹\ 192.168.2.X \ Blah Blah Blah \ thedatabase.accdb
  5. 进行连接
  6. 如果我使用SQL Server身份验证用户登录SQL Server,则无法访问链接服务器(请参阅原始帖子中的错误)
  7. 如果我尝试从作业处理计算机作为SQL Server身份验证用户或使用可信连接运行VBScript,我无法访问链接服务器。

    • 我尝试在SQL Server计算机上为SQL用户映射驱动器(没有用)
    • 我已尝试在链接服务器上进行各种登录配置组合:使用登录的当前安全上下文,使用安全上下文(其他机制上的管理员用户名和密码)制作而不使用安全上下文,SQL服务器管理员用户名和密码)
    • 我已将SQL用户添加到域用户组(但我只是让他们成为标准用户,需要在进行多次修改之前对其进行研究)
    • 我已将SQL用户添加为Access数据库计算机上的管理员。
  8. 我的问题的关键是:为什么Windows Authenticated用户可以通过链接服务器连接到MS数据库而SQL用户不能

    再次道歉,因为我没有提前提供这么多细节,但我错误地认为这是一个简单的安全问题。

0 个答案:

没有答案