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

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

Вопрос

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

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

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

Это было полезно?

Решение

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

Другие советы

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

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

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

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

  • В диалоговом окне Новый шаг задания укажите имя шага. Выберите Пакет служб SQL Server Inegration из Тип. Этот шаг по умолчанию будет выполняться в Учетная запись службы агента SQL . Выберите источник пакета как Файловая система и перейдите к пути пакета, щелкнув по многоточию. Это заполнит путь пакета. Смотрите скриншот # 4 . Если вы не хотите, чтобы этот шаг выполнялся под учетной записью службы агента SQL , обратитесь к шагам # 8 - 9 чтобы узнать, как использовать другую учетную запись.

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

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

  • После создания задания вы можете щелкнуть его правой кнопкой мыши и выбрать Script Job as - > СОЗДАТЬ К - > Новое окно редактора запросов для создания сценария, как показано на скриншоте # 7 .

  • Чтобы запустить шаг служб SSIS под другой учетной записью, в Management Studio перейдите в раздел Безопасность - > щелкните правой кнопкой мыши на Cedentials - > выберите Новые учетные данные ... , как показано на скриншоте # 8 .

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

  • Далее нам нужно создать прокси. В Management Studio перейдите к Агент SQL Server - > Прокси - > щелкните правой кнопкой мыши пункт Выполнение пакета служб SSIS - > выберите Новый прокси ... , как показано на скриншоте # 11 .

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

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

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

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

    1

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

    2

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

    3

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

    4

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

    5	</div>
</div>
<div id=

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

    use msdb
    GO
    exec sp_grant_login_to_proxy @login_name = 'MyLoginName', @proxy_name= 'proxy_SSIS'
    
    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top