Задание SQL Server с использованием командной строки WinZip
У меня есть задание SQL Server 2008, которое создает резервную копию базы данных, затем архивирует ее и перемещает заархивированный файл. Моя работа работает нормально, пока не дойдет до шага, который вызывает WinZip, который выполняется:
c:\program files (x86)\winzip v19.5\winzip32.exe
-m \\RemoteShare\RestrictedFolder\dbBack.zip
x:\SQLInstanceFolder\BackupFolders\dbBack.bak
Работа ни завершает, ни терпит неудачу; он просто перестает двигаться вперед. Это сгенерирует dbBack.bak
файл и создать dbBack.zip
файл в удаленном месте, но он не пройдет мимо. Кажется, он ведет себя так, как будто ожидает всплывающего подтверждения, но я не вижу его при входе в консоль или при запуске zip из командной строки.
Я пытался добавить -ybc
флаг для автоматического подтверждения или пропуска любых запросов, но, похоже, ничего не происходит. Процесс все еще не завершен. Я даже пытался >
конвейерный вывод процесса, но он даже не запишет мой лог-файл.
Это защищенная система и инфраструктура, но я уверен, что меня не заблокирует разрешение. Моя учетная запись службы SQL Server, которая выполняет задание, имеет доступ к нужным папкам и может запускать winzip32.exe
процесс. Этот процесс прошел нормально, но нам пришлось обновить WinZip в прошлые выходные (19.5), и именно тогда он перестал работать должным образом. Мы не можем откатиться до предыдущей версии (10).
Кто-нибудь имеет представление о том, что может остановить мой процесс или как заставить его продолжить?
1 ответ
Я думаю, что обнаружил проблему. Оказывается, мы используем версию WinZip с графическим интерфейсом и вызываем исполняемый файл из командной строки. Даже если мы не видим графический интерфейс, он все еще там. Таким образом, запрос на подтверждение нашего сжатия все еще присутствует в рабочем процессе программы, мы просто не видим его и, следовательно, не можем его подтвердить. И флаги подтверждения не работают с версией GUI.
Мой обходной путь включал вход на мой SQL-сервер в качестве учетной записи службы и запуск операции WinZip. Когда он закончил и дал мне Add Complete
подскажите я проверил Do not display this dialog in the future
и нажал OK
, Это подавит этот запрос, когда учетная запись службы запускает свою работу.
Если кто-то изменит учетную запись службы, нам придется сделать это снова, поэтому нашим окончательным решением будет установка подключаемого модуля WinZip Commmand Line. Надеюсь, когда это будет сделано, нам не придется об этом беспокоиться.
Но это работает сейчас.:-)