Подтвердить что ты не робот

Как создать шаг в моем задании агента SQL Server, который будет запускать мой пакет SSIS?

Я пытаюсь создать автоматическое задание для агента SQL Server для запуска. Предполагается, что задание запускает мой пакет SSIS.

Вот что я до сих пор:

EXEC sp_add_job @job_name = 'My Job'
            ,@description = 'My First SSIS Job'
            ,@job_id = @jobid OUTPUT

EXEC sp_add_jobstep @job_id [email protected]
                    ,@step_name = N'Upload Data'
                    ,@step_id = 1
                    ,@command=N'/FILE "D:\Installs\Upload.dtsx"'
EXEC sp_add_jobstep @job_id = @jobid
                    ,@step_name = N'Download Data'
                    ,@step_id = 2
                    ,@command=N'/FILE "D:\Installs\Download.dtsx"'

К сожалению, когда я запускаю это, я получаю сообщение об ошибке

Неправильный синтаксис около '/'

Я подозреваю, что он жаловался на /FILE в моей команде.

Я не могу найти документацию о соответствующем синтаксисе для использования в @command в любом месте - я вытащил /FILE из какого-то старого кода, который я нашел где-то. Каков правильный синтаксис для запуска пакета SSIS в задании?

4b9b3361

Ответ 1

Я запустил SQL script в вопросе, но не обнаружил ошибок. Итак, я не уверен, что вызывает ошибку в вашем случае. Однако, если у вас есть доступ к SQL Server Agent через SQL Server Management Studio. Ниже приведены шаги по созданию задания с использованием графического интерфейса пользователя.

  • Перейдите в SQL Server Management Studio. Разверните SQL Server Agent и щелкните правой кнопкой мыши на "Задания", затем выберите New Job..., как показано на снимке экрана 1.

  • Укажите имя и владелец по умолчанию - это учетная запись, которая создает задание, но вы можете изменить ее в соответствии с вашими требованиями. Присвойте категорию, если хотите, а также укажите описание. См. Снимок экрана # 2.

  • В разделе "Шаги" нажмите New..., как показано на скриншоте # 3.

  • В диалоговом окне "Шаг нового задания" укажите имя шага. Выберите SQL Server Inegration Services Package из типа. Этот шаг будет работать под SQL Agent Service Account по умолчанию. Выберите источник пакета как File system и перейдите к пути пакета, нажав на многоточие. Это заполнит путь пакета. См. Снимок экрана # 4. Если вы не хотите, чтобы этот шаг выполнялся под SQL Agent Service Account, обратитесь к шагам # 8 - 9, чтобы узнать, как вы можете используйте другую учетную запись.

  • Если у вас есть файл конфигурации SSIS (.dtsConfig) для пакета, перейдите на вкладку Конфигурации и добавьте файл конфигурации, как показано на скриншоте # 5 > .

  • Нажмите "ОК", и на шаге 1 появится пакет, как показано на скриншоте # 6. Аналогичным образом вы можете создавать различные этапы.

  • После создания задания вы можете щелкнуть правой кнопкой мыши по заданию и выбрать Script Job as --> CREATE To --> New Query Editor Window для генерации script, как показано на снимке экрана 7.

  • Чтобы запустить шаг SSIS под другой учетной записью, в Studio Management перейдите к Security --> right-click on Cedentials --> select New Credential..., как показано на снимке экрана 8.

  • В диалоговом окне New Credential укажите имя учетных данных, учетную запись Windows и пароль, в соответствии с которыми вы хотите выполнить шаги SSIS в SQL-заданиях. Смотрите скриншот # 9. Учетные данные будут созданы, как показано на скриншоте # 10.

  • Затем нам нужно создать прокси. В Studio Management перейдите к SQL Server Agent --> Proxies --> right-click on SSIS Package Execution --> select New Proxy..., как показано на скриншоте # 11.

  • В окне "Новая учетная запись прокси" укажите имя прокси, выберите вновь созданные учетные данные, укажите описание и выберите пакет служб интеграции SQL Server, как показано на скриншоте # 12. Прокси-аккаунт должен быть создан, как показано на снимке экрана < 13.

  • Теперь, если вы вернетесь к шагу в задаче SQL, вы увидите новую созданную учетную запись прокси в раскрывающемся списке Выполнить как. См. Снимок экрана # 14.

Надеюсь, что это поможет.

Снимок экрана №1:

1

Снимок экрана №2:

2

Снимок экрана №3: ​​

3

Снимок экрана №4:

4

Снимок экрана № 5:

5

Снимок экрана № 6:

6

Снимок экрана № 7:

7

Снимок экрана # 8:

8

Снимок экрана № 9:

9

Снимок экрана № 10:

10

Снимок экрана № 11:

11

Снимок экрана № 12:

<Т411 >

Снимок экрана № 13:

13

Снимок экрана № 14:

14

Ответ 2

Если вы создаете задание с помощью sp_add... procs, я думаю, вам нужно явно указать подсистему для вызова, a la

EXEC sp_add_jobstep @job_id = @jobid,
@step_name = N'Upload Data',
@step_id = 1,
@subsystem = 'DTS',
@command=N'/FILE "D:\Installs\Upload.dtsx"'

Это эквивалентно скриншоту @Siva №4 "Тип" = "пакет служб интеграции SQL Server".

См. эту статью MSDN для полного списка подсистем.

EDIT: "TSQL" по умолчанию, поэтому ваша текущая установка пытается выполнить "/FILE" D:\Installs\Upload.dtsx "" как команду T-SQL.