Как удаленно запустить пакет DTSX из файла bat? - PullRequest
3 голосов
/ 03 октября 2008

Я пытаюсь удаленно запустить пакет DTSX из файла bat с помощью этой команды:

DTEXEC /DTS "\File System\MY_PACKAGE_NAME" /SERVER MY_SERVER_NAME /MAXCONCURRENT " -1 " /CHECKPOINTING OFF  /REPORTING V

Это нормально работает локально, но не работает удаленно (у меня есть права администратора на машине, на которую я указываю, и у меня также есть разрешения SQL) Я получаю сообщение об ошибке тайм-аута (истекло время ожидания входа в систему).

Ответы [ 3 ]

5 голосов
/ 27 марта 2009

Это очень возможно и так легко. Нет необходимости иметь ни процедуру хранения, ни агента SQL, ни веб-разработки, ни разработки .NET. Я удивлен, что Microsoft никогда не предлагала это:

  1. Запланируйте задачу на сервере SQL для запуска пакета DTSX. Отключите его, чтобы он не запускался, пока вы не запустите его вручную с удаленного компьютера.
  2. Выполнить задачу с ПК с помощью команды:

schtasks / run / tn MyTask [/ s MySQLServer [/ u [домен] user / p пароль]] /?

Примечание: если вам не нравится раскрывать пароль, используйте команду «PSEXEC» для выполнения команды «schtasks» (скачайте бесплатный и мощный инструмент из http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

3 голосов
/ 04 октября 2008

После небольшого исследования кажется, что невозможно запустить DTEXEC удаленно (его нужно запускать локально - удаленное выполнение не поддерживается).

Чтобы преодолеть это ограничение, широко применяется следующий метод:

  1. настроить задание SQL для запуска пакета DTSX
  2. настроить хранимую процедуру для запуска задания
  3. использовать командную строку isql в файле BAT (удаленно выполняется) для запуска хранимой процедуры на соответствующем экземпляре SQL (с учетными данными SQL, а не с учетными данными компьютера)
1 голос
/ 07 января 2009

Служба SSIS также предоставляет веб-сервис на хост-сервере. Вы можете через код, запрашивать у машины пакеты, запускать пакеты через базу данных или файловую систему и программно добавлять / изменять переменные пакета через любую платформу программирования, какую пожелаете.

При этом вы также можете настроить свой веб-сервис для вызова локального пакетного файла, который содержит команду 'DETEXEC'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...