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 не будет проверять элементы с отложенной проверкой. Существуют варианты принудительной проверки элементов с отложенной проверкой, но это отдельная тема.