Почему пакет, который хорошо работает на dtexec, не запускается в задании агента SQL Server?

у меня есть пакет на локальном диске C:, если я запускаю его как часть задания агента SQL, он терпит неудачу:

02/20/2013 17:38:45,MyUpload,Error,3,FMF-S3-1507EOS01,PAM_MyUpload,Run MyUpload SSIS Package,,
Executed as user: MARKETSSVCSQLDEV. 
Microsoft (R) SQL Server Execute Package Utility  Version 10.0.5500.0 for 64-bit  
Copyright (C) Microsoft Corp 1984-2005. All rights reserved.    
Started:  17:38:45  Error: 2013-02-20 17:38:45.72     
Code: 0xC0011007     
Source: {14BE11F5-B737-4A6E-96E6-111635631749}      
Description: Unable to load the package as XML because of package does not have a valid XML format. A specific XML parser error will be posted.  End Error  
Error: 2013-02-20 17:38:45.72     
Code: 0xC0011002     
Source: {14BE11F5-B737-4A6E-96E6-111635631749}      
Description: Failed to open package file "C:MyFolderPackage.dtsx" due to error 0x80070003 "The system cannot find the path specified.".  This happens when loading a package and the file cannot be opened or loaded correctly into the XML document. This can be the result of either providing an incorrect file name was specified when calling LoadPackage or the XML file was specified and has an incorrect format.  End Error  
Could not load package "C:MyFolderPackage.dtsx" because of error 0xC0011002.  
Description: Failed to open package file "C:MyFolderPackage.dtsx" due to error 0x80070003 "The system cannot find the path specified.".  This happens when loading a package and the file cannot be opened or loaded correctly into the XML document. This can be the result of either providing an incorrect file name was specified when calling LoadPackage or the XML file was specified and has an incorrect format.  
Source: {14BE11F5-B737-4A6E-96E6-111635631749}  
Started:  17:38:45  
Finished: 17:38:45  
Elapsed:  0.047 seconds.  
The package could not be found.  The step failed.
,00:00:00,0,0,,,,0

однако, если я скопирую командную строку из шага задания агента SQL и запустите ее с DTExec.exe, он преуспевает:

C:Program FilesMicrosoft SQL Server0DTSBinn>DTExec.exe /FILE "C:MyFolderPackage.dtsx"  /CHECKPOINTING OFF /REPORTING E
Microsoft (R) SQL Server Execute Package Utility
Version 10.50.1600.1 for 32-bit
Copyright (C) Microsoft Corporation 2010. All rights reserved.

Started:  17:44:00
DTExec: The package execution returned DTSER_SUCCESS (0).
Started:  17:44:00
Finished: 17:44:56
Elapsed:  55.266 seconds

что я могу попытаться исправить на шаге задания? Является ли jobstep типа commandshell правильным путем вперед?

4 ответов


Я верю, что у вас есть проблема с разрешениями. Если вы посмотрите на журнал, который вы выложили, Failed to open package file "C:\MyFolder\Package.dtsx" due to error 0x80070003 "The system cannot find the path specified."

что это значит?

учетная запись, с которой работает SQL Agent, не имеет доступа к C:\MyFolder - ...

разрешение

возможно, Вам потребуется предоставить файловую систему этой учетной записи. Или можно создать авторизованные учетные данные и изменить шаг задания для использования этой учетной записи.


это проблема безопасности переместите папку с c на любой другой диск или измените параметр безопасности папки.


попробовать поставить опции\файл В конце:

C:\Program Files\Microsoft SQL Server0\DTS\Binn>DTExec.exe   /CHECKPOINTING OFF /REPORTING E /FILE "C:\MyFolder\Package.dtsx"

повторно откройте пакет в предложениях и проверьте конфигурации правильно,а также строки подключения к базе данных и т. д.... И выберите "Включить конфигурации"при развертывании.