DTExec.exe CheckFile и проверка не удается

Я пытаюсь выполнить сценарий dtsx, используя DTExec.exe как часть пакетного процесса. Работает следующий скрипт командной строки:

"C:\Program Files\Microsoft SQL Server\130\DTS\Binn\DTExec.exe" -File "\\\\vm-to-somewhere\d$\Projects\test.dtsx"

Однако, если я попытаюсь выполнить проверку / проверку файла test.dtsx перед тем, как фактически запустить сценарий, произойдет сбой с кодом выхода 6 (что означает: Утилита обнаружила внутреннюю ошибку синтаксических или семантических ошибок в команде линия).

$ "C:\Program Files\Microsoft SQL Server\130\DTS\Binn\DTExec.exe" -CheckFile "\\\\vm-to-somewhere\d$\Projects\test.dtsx"
$ "C:\Program Files\Microsoft SQL Server\130\DTS\Binn\DTExec.exe" -Validate "\\\\vm-to-somewhere\d$\Projects\test.dtsx"

Returns: Option "\\\\vm-to-somewhere\d$\Projects\test.dtsx" is not valid.

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

Кроме того, если бы кто-то мог указать мне на различия между -CheckFile и -Validate, это могло бы помочь мне решить, что использовать в моем сценарии. Мне просто нужно знать, хорошо ли работает dtsx, прежде чем выполнять его, потому что для его запуска требуется 3 часа, и я предпочитаю выяснить это раньше, чем позже.

Ссылки: https://msdn.microsoft.com/en-us/library/hh231187(v=sql.110).aspx

1 ответ

Решение

Вы пропустили опцию "-File" (или "-f") перед именем вашего пакета

Должно быть как

DTExec.exe -f "<package name with path>" -Validate

Обратите внимание, что пакет может иметь настроенную отложенную проверку, поэтому параметр -Validate не будет проверять элементы с отложенной проверкой. Существуют варианты принудительной проверки элементов с отложенной проверкой, но это отдельная тема.

Другие вопросы по тегам