SQL 作业无法访问 Microsoft Excel DCOM 应用程序。权限已设置。发生了什么?

SQL 作业无法访问 Microsoft Excel DCOM 应用程序。权限已设置。发生了什么?

我有一个 SQL 作业,它运行一个 VB 脚本,该脚本使用 Microsoft Excel DCOM 应用程序提供的对象。Excel 2003 已安装并运行。SQL Server 和 SQL 代理均在 mydomain\thataccount 下运行。

错误是:

计算机默认权限设置未向地址 LocalHost(使用 LRPC)的用户 mydomain\thataccount SID 授予 CLSID 为 {00024500-0000-0000-C000-000000000046} 的 COM 服务器应用程序的本地激活权限。可以使用组件服务管理工具修改此安全权限。

以下发现使这一问题变得困难。

  1. mydomain\thataccount 对组件服务 DOC 配置中的 DCOM 应用程序具有完全的启动和激活权限、访问权限和配置权限。

  2. (上面的)错误表明它不存在。

  3. 如果我授予“每个人”所有类型的完全访问权限,则错误不会改变。

  4. 如果我让 SQL 代理在另一个帐户 (mydomain\otheraccount) 下运行,错误仍然会抱怨 mydomain\thataccount 没有权限。显然,该作业是在 SQL Server 凭据下运行的,而不是在 SQL 代理凭据下运行的。

  5. 我没有更改 SQL Server 运行的帐户,因为启动 SQL 配置管理器时出现此错误(可能相关也可能不相关):

    无法连接到 WMI 提供程序。您没有权限或无法访问服务器。请注意,您只能使用 SQL Server 配置管理器管理 SQL Server 2005 及更高版本的服务器。无效类 [0x80041010]

  6. 如果我将 mydomain\thataccount 添加到本地管理员组并重新启动 SQL Server,工作有效。这意味着管理员有权使用 DCOM 应用程序,但非管理员用户却无权使用,尽管他们被授予了权限。

  7. 重申:即使“每个人”都被授予了 DCOM 应用程序的完全访问权限,错误仍然表明 mydomain\thataccount 无权访问 DCOM 应用程序。

有任何想法吗?

(我开始相信 Windows/SQL 安装出了问题。)

Microsoft® Windows Server® 2008 Enterprise 版本:6.0.6002 架构:64 位 状态:正常 总可见物理内存:3,927 MB Windows Service Pack:Service Pack 2

Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (X64) 2009 年 3 月 29 日 10:11:52 版权所有 (c) 1988-2008 Microsoft Corporation 企业版 (64 位) Windows NT 6.0 (Build 6002: Service Pack 2)

相关内容