Задание SQL не открывается cmd - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть пакет служб SSIS, в котором есть задача сценария, которая выполняет программу с помощью команды cmd.

Задача работает нормально, когда я выполняю пакет из каталога интегрированных служб, однако когда я запускаю его как частьЗадание sql server agent задание сообщает об успешном выполнении, но оно ничего не делает.

Это почти, если задача вообще не выполняется, потому что когда я запускаю пакет через каталог ssis, я получаю всплывающее окно cmd сжурнал того, что происходит, где, когда я запускаю его через задание, я не получаю этот cmd всплывающее окно.

Я подаю в суд на sql server 2016, и работа выполняется с учетной записью прокси-пользователя.

1 Ответ

0 голосов
/ 07 февраля 2019

@ PanagiotisKanavos, вероятно, ударил гвоздь по голове.Задачи сценариев имеют доступную переменную только для чтения System::InteractiveMode Вы можете проверить значение этой переменной в задаче «Сценарий», чтобы определить, может ли процесс взаимодействовать с рабочим столом, называемым «кто-то за рулем».

Еслиесли вы пытаетесь взаимодействовать с рабочим столом из задания, задача «Сценарий» должна выдавать ошибку.Для получения бонусных баллов учетная запись в Active Directory может быть помечена как ... запрещенный рабочий стол или что-то подобное, что даже если вы захотите запустить задание в каком-либо интерактивном режиме, вы не сможете.

В рамках моих задач сценариев, если у меня есть возможность открывать окна, как вы описываете, я всегда заключаю их в логический блок, например

        string message = "Some diagnostic message";
        if ((bool)this.Dts.Variables["System::InteractiveMode"].Value)
        {
            MessageBox.Show(message);
        }

Пример кода, выполняемого для другой цели, находится в моем блоге

http://billfellows.blogspot.com/2015/02/is-my-ssis-package-running-in-32-or-64.html

и вероятные дубликаты

...