SQL 2008:使用 DTS 包打开 excel 文件时出现代理作业错误

Man*_*jot 5 sql-server-2008 etl

我有一个安装了 Excel 的 SQL 2008 服务器 (SQL2008S1)。我不得不将数据库和 DTS 包从 SQL 2000 服务器 (SQL2000S2) 迁移到该服务器。1 DTS 包试图访问远程服务器上的 Excel 文件,如 \\SQL2000S2\C$\directory\someExcelFile.xls。SQL2008S1 上的 SQL 服务器和代理都在同一服务帐户 (Domain\SQL2008S1_service) 下运行,并且对 \\SQL2000S2\C$\directory 具有完全权限。我什至授予 Domain\SQL2008S1$(机器名称)对 \\SQL2000S2\C$\directory\ 的完全访问权限

当我在 SQL2008S1 上打开 DTS 包并手动执行它时,它运行得非常好。但是当我将其安排为作业时,作业报告:

以用户身份执行:Domain\SQL2008S1_service。...p_DTSExecutePackageTask_5 DTSRun OnError: DTSStep_DTSExecutePackageTask_5, Error = -2147467259 (80004005) 错误字符串:DTSStep_DTSExecuteSQLTask_2:Microsoft Jet 数据库引擎无法打开文件 '\\SQL2000S2\C$\ExcelFile.xls\some. 它已被其他用户以独占方式打开,或者您需要获得查看其数据的权限。

我 100% 确定文件未打开,并且我认为我已授予 SQL 代理/SQL 服务帐户足够的权限。

请问有什么帮助吗?

mrd*_*nny 4

您是否已授予帐户Domain\SQL2008S1_service对服务器SQL2000S2的管理员权限?您需要这样做才能使用 C$ 网络共享。