Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SSIS 2014: настроить автономный запуск задачи  [new]
Kew1
Member

Откуда:
Сообщений: 33
Всем привет.

Была задачка сделать SSIS-пакет и вставить его исполняться по расписанию.
Ок.
Загрузил то, что MS предлагает для этой задачи: SQL Server Data Tools for Visual Studio 2013. Поставил на машину. Сделал простой пакет (подключение к удаленной БД и вытягивание всех объектов table через Transfer SQL Server objects task). Запустил на своей машине - отрабатывает. Публикую на SQL Server 2014, создаю job, пуляю - ошибка: не может соединиться с целевой БД (SQL Server 2008) через SQL Server Autenthication (Failed to connect to server xxx.xxx.xxx.xxx). Начинаю смотреть, в чём дело. Пробую разные варианты. В общем, итог такой: задача отрабатывает без проблем, если я залогинен на Windows-сервере, где стоит SQL Server 2014. Значит, что-то завязано на моей учётной записи. Вот список того, что пробовал (без положительного результата):

  • Поменял свойство шифровать данные ключом на обычный пароль и для проекта, и для пакета.
  • Заделал proxy account под свою учетку, пытался запускать под ним.
  • Установил SQL Server Data Tools for VS 2013 на сервере, создал пакет там (локально на сервере) и опубликовал.


    В общем, нужен товарищеский тычок в нужном направлении, куда смотреть. Пожалуйста.
  • 22 июн 16, 01:34    [19321234]     Ответить | Цитировать Сообщить модератору
     Re: SSIS 2014: настроить автономный запуск задачи  [new]
    Ferdipux
    Member

    Откуда: Москва
    Сообщений: 554
    Kew1,

    Смотреть в сторону так называемого шифрования sensitive data. Вы же в пакете прописали SQL логины и пароли. А это несекурно, и пароли SSIS зашифровал, по умолчанию - хешем завязанным на вашу учетку. Поэтому - когда с SSIS сервера вы запускаете пакет - все хорошо, когда чужой - ой.
    Что делать - варианты:
    1. Перейти на доменную (или windows) аутентификацию в SQL DB, и не прописывать пароль в пакете. Самое разумное, ИМХО.
    2. В SSISDB (у вас же SSIS 2014) создать environment с указанием свойств подключения, в том числе и пароля, затем привязать ее к пакету и указать в свойствах SQL Job. Тоже неплохо, особенно когда п.1 не проходит.
    3. Запилить для SQL Job proxy с credentials вашей учетки. Быстро и плохо, ибо завязано на вашу учетку.
    4. Перенастроить шифрование паролей на ключевое слово, и в строке запуска пакета - его писать. Несекурно.
    22 июн 16, 08:11    [19321388]     Ответить | Цитировать Сообщить модератору
     Re: SSIS 2014: настроить автономный запуск задачи  [new]
    Kew1
    Member

    Откуда:
    Сообщений: 33
    Ferdipux
    Kew1,

    Смотреть в сторону так называемого шифрования sensitive data. Вы же в пакете прописали SQL логины и пароли. А это несекурно, и пароли SSIS зашифровал, по умолчанию - хешем завязанным на вашу учетку. Поэтому - когда с SSIS сервера вы запускаете пакет - все хорошо, когда чужой - ой.


    Эээ-э.... Я это делал:
    Поменял свойство шифровать данные ключом на обычный пароль и для проекта, и для пакета.

    Ferdipux
    Что делать - варианты:
    1. Перейти на доменную (или windows) аутентификацию в SQL DB, и не прописывать пароль в пакете. Самое разумное, ИМХО.

    Невозможно, я не имею контроля над удаленной БД.

    Ferdipux
    2. В SSISDB (у вас же SSIS 2014) создать environment с указанием свойств подключения, в том числе и пароля, затем привязать ее к пакету и указать в свойствах SQL Job. Тоже неплохо, особенно когда п.1 не проходит.


    Мм-м... Попробую.

    Ferdipux
    3. Запилить для SQL Job proxy с credentials вашей учетки. Быстро и плохо, ибо завязано на вашу учетку.

    Заделал proxy account под свою учетку, пытался запускать под ним.

    Ferdipux
    4. Перенастроить шифрование паролей на ключевое слово, и в строке запуска пакета - его писать. Несекурно.


    То есть, при создании джоба на пакет, зашифрованный паролем, SQL Server Management Studio меня не спросит об этом пароле? Я должен его явно прописывать сам в строке?
    22 июн 16, 12:57    [19322538]     Ответить | Цитировать Сообщить модератору
     Re: SSIS 2014: настроить автономный запуск задачи  [new]
    a_voronin
    Member

    Откуда: Москва
    Сообщений: 4804
    Kew1
    Ferdipux
    Kew1,

    Смотреть в сторону так называемого шифрования sensitive data. Вы же в пакете прописали SQL логины и пароли. А это несекурно, и пароли SSIS зашифровал, по умолчанию - хешем завязанным на вашу учетку. Поэтому - когда с SSIS сервера вы запускаете пакет - все хорошо, когда чужой - ой.


    Эээ-э.... Я это делал:
    Поменял свойство шифровать данные ключом на обычный пароль и для проекта, и для пакета.

    Ferdipux
    Что делать - варианты:
    1. Перейти на доменную (или windows) аутентификацию в SQL DB, и не прописывать пароль в пакете. Самое разумное, ИМХО.

    Невозможно, я не имею контроля над удаленной БД.

    Ferdipux
    2. В SSISDB (у вас же SSIS 2014) создать environment с указанием свойств подключения, в том числе и пароля, затем привязать ее к пакету и указать в свойствах SQL Job. Тоже неплохо, особенно когда п.1 не проходит.


    Мм-м... Попробую.

    Ferdipux
    3. Запилить для SQL Job proxy с credentials вашей учетки. Быстро и плохо, ибо завязано на вашу учетку.

    Заделал proxy account под свою учетку, пытался запускать под ним.

    Ferdipux
    4. Перенастроить шифрование паролей на ключевое слово, и в строке запуска пакета - его писать. Несекурно.


    То есть, при создании джоба на пакет, зашифрованный паролем, SQL Server Management Studio меня не спросит об этом пароле? Я должен его явно прописывать сам в строке?


    Вам нужно ЗАВЕСТИ СИСТЕМНОГО ПОЛЬЗОВАТЕЛЯ (не свой аккаунт), дать ему необходимые права и запускать под ним джобы. Возможно даже запустить под ним всю SSIS службу. На этого пользователя сделать proxy account. Одно из существенных отличий системного пользователя от конкретного человека в том, что у него не должен истекать пароль, в то время как у обычных юзеров это возможно.
    22 июн 16, 13:09    [19322601]     Ответить | Цитировать Сообщить модератору
     Re: SSIS 2014: настроить автономный запуск задачи  [new]
    Гулин Федор
    Member

    Откуда: МИНСК
    Сообщений: 1258
    a_voronin,
    как бы со всем согласен
    Одно из существенных отличий системного пользователя от конкретного человека в том, что у него не должен истекать пароль, в то время как у обычных юзеров это возможно

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

    зы хотя лично я юзал бы 2) - он точно не зависит ни от чего
    22 июн 16, 15:52    [19323426]     Ответить | Цитировать Сообщить модератору
     Re: SSIS 2014: настроить автономный запуск задачи  [new]
    alexeyvg
    Member

    Откуда: Moscow
    Сообщений: 31444
    Гулин Федор
    зы хотя лично я юзал бы 2) - он точно не зависит ни от чего
    По моему, заставить что то делать заказчика с environment-ами в SSISDB ещё сложнее, чем создать пользователя :-)
    22 июн 16, 20:56    [19324627]     Ответить | Цитировать Сообщить модератору
    Все форумы / Microsoft SQL Server Ответить