Как запланировать запуск пакета служб SSIS, отличного от учетной записи службы агента SQL - PullRequest
13 голосов
/ 01 мая 2009

В SQL Server 2005 возможно ли запланировать запуск пакета служб SSIS, отличный от учетной записи службы агента SQL?

У меня есть пакет служб SSIS, который устанавливает соединение с базой данных и выполняет хранимую процедуру. Мой критерий заключается в том, что я не буду указывать имена пользователей / пароли в пакете или конфигурации пакета, поэтому я хочу использовать встроенную аутентификацию.

Проблема в том, что по умолчанию шаг в задании выполняется как учетная запись службы агента SQL, и наша группа серверов не хочет предоставлять этой учетной записи права на выполнение хранимых процедур, которые будет выполнять мой пакет. Поэтому мы пытаемся найти способ указать другую учетную запись на этом шаге, чтобы пакет работал в другом контексте. Это возможно?

Ответы [ 3 ]

38 голосов
/ 16 июля 2011

Если у вас есть доступ к SQL Server Agent через SQL Server Management Studio, здесь приведены шаги для создания задания с использованием графического интерфейса пользователя. В этих шагах показано, как создать задание SQL для запуска служб SSIS с использованием учетной записи службы агента SQL, а также как создать прокси-сервер для запуска с использованием других учетных данных.

  1. Перейти к SQL Server Management Studio. Разверните SQL Server Agent и щелкните правой кнопкой мыши на Jobs, затем выберите New Job..., как показано на скриншоте # 1 .

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

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

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

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

  6. Нажмите OK, и на шаге 1 появится пакет, как показано на скриншоте # 6 . Точно так же вы можете создавать различные шаги.

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

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

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

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

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

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

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

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

1

Скриншот № 2:

2

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

3

Скриншот № 4:

4

Скриншот № 5:

5

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

6

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

7

Скриншот № 8:

8

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

9

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

10

Скриншот № 11:

11

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

12

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

13

Скриншот № 14:

14

7 голосов
/ 01 мая 2009

Если вы хотите выполнить пакет служб SSIS из заданий агента SQL, вы можете создать прокси. Проверьте здесь для получения дополнительной информации.

0 голосов
/ 19 сентября 2013

В SQL 2012 я получил сообщение о том, что выбранной учетной записи пользователя не разрешено быть прокси. Использование следующего запроса решило эту проблему:

use msdb
GO
exec sp_grant_login_to_proxy @login_name = 'MyLoginName', @proxy_name= 'proxy_SSIS'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...