Как удаленно запустить пакет DTSX из файла bat?
-
03-07-2019 - |
Вопрос
Я пытаюсь удаленно запустить пакет DTSX из файла bat с помощью этой команды:
DTEXEC /DTS "\File System\MY_PACKAGE_NAME" /SERVER MY_SERVER_NAME /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING V
Локально работает нормально, но не работает удаленно (у меня есть права администратора на машине, на которую я указываю, и у меня также есть разрешения SQL). Я получаю сообщение об ошибке тайм-аута (истекло время ожидания входа в систему).
Решение 2
После небольшого исследования кажется, что невозможно выполнить DTEXEC удаленно (его нужно запускать локально - удаленное выполнение не поддерживается).
Чтобы преодолеть это ограничение, по-видимому, широко применяется следующий метод:
<Ол>Другие советы
Это очень возможно и так легко. Нет необходимости иметь ни процедуру хранения, ни агента SQL, ни веб-разработки, ни разработки .NET. Я удивлен, что Microsoft никогда не предлагала это:
<Ол>schtasks / run / tn MyTask [/ s MySQLServer [/ u [домен] user / p пароль]] /?
Примечание. Если вам не нравится раскрывать пароль, используйте команду «PSEXEC» для выполнения команды «schtasks» (загрузите бесплатный и мощный инструмент с http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
Служба SSIS также предоставляет веб-службу на хост-сервере. Вы можете с помощью кода, запрашивать у машины пакеты, запускать пакеты через базу данных или файловую систему и программно добавлять / изменять переменные пакета с помощью любой понравившейся вам платформы программирования.
При этом вы также можете настроить свой веб-сервис для вызова локального пакетного файла, который содержит команду «DETEXEC».