Развертывание проекта SSIS на удаленном сервере в SQL 2016

У нас есть новый проект SSIS, наш первый в SQL 2016 (предыдущая версия была 2008). Мы решили, что параметры среды и сервер интеграции лучше всего подходят для наших целей, поэтому мы используем модель развертывания проекта.

Вся наша разработка выполняется локально на наших ноутбуках, но все мы подключаемся к одной и той же базе данных разработки (размещенной на виртуальной машине Azure). У нас нет проблем с подключением к базе данных с помощью SSMS или VS2k15 Server Explorer на наших машинах. Пакеты получают форму данных, все работает отлично.

Однако теперь мы хотели бы развернуть их на нашем сервере разработки, протестировать их, затем развернуть на нашем промежуточном сервере, протестировать их и, наконец, развернуть в рабочей среде.

Когда я пытаюсь использовать мастер развертывания, мы переходим к шагу «Выбрать место назначения». Кажется, это не позволяет нам выбрать сервер, который не находится в нашей локальной сети. Нет возможности подключиться к удаленному серверу, и когда я ввожу URL-адрес своего удаленного сервера, я получаю следующую ошибку...

Не удалось подключиться к серверу [адрес моего сервера]. Авторизация не удалась. Логин представляет собой ненадежный домен и не может использоваться с проверкой подлинности Windows (ошибка 18452).

Для SQL-аутентификации не указана опция (это то, что мы используем для подключения везде, в том числе ВНУТРИ проекта, над которым я сейчас работаю).

Неужели нет способа развернуть это удаленно? Ищем решение.


person Larry Grady    schedule 25.08.2016    source источник
comment
Ваша база данных находится в том же поле, где находится ssis? Вы предоставляете то же имя (формат), что и в SSMS?   -  person p2k    schedule 25.08.2016
comment
Я создал проект SSIS в Visual Studio локально (мой ноутбук). Мы выполняем развертывание на серверах Dev (и, в конечном итоге, Proud) на виртуальных машинах Azure. Так что нет, не на той же коробке. Я использую точно такое же имя, как и в SSMS для подключения к удаленному серверу.   -  person Larry Grady    schedule 25.08.2016
comment
Можно ли подключиться к виртуальной машине Azure удаленно (rdp)? Можете ли вы получить доступ к SSISDB из вашего ssms-логина?   -  person p2k    schedule 25.08.2016
comment
Да, я могу подключиться к виртуальной машине Azure по протоколу RDP. Да, я могу получить доступ к SSISDB из своего имени входа в SSMS. Похоже, проблема в том, что в мастере развертывания нет выбора для учетных данных SQL.   -  person Larry Grady    schedule 25.08.2016


Ответы (1)


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

Я нашел пример, который позволил мне использовать OPENROWSET для установки двоичной переменной из файла ispac. Затем хранимая процедура catalog.deploy_project для развертывания этого проекта в каталоге интеграции SQL. Это сработало, и теперь я могу запускать свои пакеты на сервере. Однако, когда я впервые попытался сделать это, я получил ошибку

Операция не может быть запущена учетной записью, использующей проверку подлинности SQL Server. Начните операцию с учетной записью, использующей проверку подлинности Windows.

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

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

Итак, я понял, как сделать то, что мне нужно, но есть ли лучший способ сделать это? Какая-то передовая практика мне не хватает?

person Larry Grady    schedule 26.08.2016