Как удаленно запустить пакет DTSX из файла bat?

StackOverflow https://stackoverflow.com/questions/166239

  •  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 для запуска пакета DTSX
  • настроить хранимую процедуру для запуска задания
  • используйте командную строку isql в файле BAT (выполняется удаленно) для запуска хранимой процедуры на соответствующем экземпляре SQL (с учетными данными SQL, а не с учетными данными компьютера)
  • Другие советы

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

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

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

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

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

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

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top