Развертывание пакета служб SSIS с сервера A на сервер B - PullRequest
1 голос
/ 27 марта 2020

Я использую VS 2017 SSDT 15.9.20 для создания пакета служб SSIS. Первоначально пакет был создан на сервере A, где установлен SSDT, а сервер SQL находится на сервере A. Поэтому я был готов создать пакет на сервере A. Я создал задание SQL на сервере A и привязал его непосредственно к запуску. файл DTSX без его развертывания.

Что делает мой пакет:

На сервере A мой пакет будет читать Excel в расположении C: \ Users \ xxx \ Documents \ myproj \ excelfile.xls и создаст таблицы Excel внутри C: \ Users \ xxx \ Documents \ myproj \ files \ folder.

Развертывание:

Теперь я хочу развернуть этот пакет на сервере B. И мой пакет будет читать Excel в папке \ ServerB \ S: \ Documents \ myproj \ excelfile.xls и будет создавать листы Excel внутри \ ServerB \ S: \ Documents \ myproj \ files \ folder.

Мои вопросы:

  1. Должен ли я развернуть свой проект для создания файла dtsx? В папке моего проекта уже есть файл dtsx. Могу ли я не просто переместить этот файл на сервер B и изменить строку подключения и пути? Будет ли это работать таким образом?

  2. Средство развертывания служб SSIS не работает для меня с сервера A. Он не определяет целевые серверы. Как можно легко выполнить развертывание? Как изменить пути назначения?

  3. На сервере A установлены SSDT и база данных SQL на одном сервере. Но целевой сервер B является сервером базы данных и не имеет SSDT. Я запланирую работу на сервере SQL сервера B, который вызовет мой пакет dtsx и выполнит его.

Я новичок в SSIS. поэтому, пожалуйста, не закрывайте этот вопрос, и было бы здорово, если бы кто-нибудь мог помочь мне с этими вопросами. Спасибо!

1 Ответ

1 голос
/ 27 марта 2020

Не зная версии SQL, я дам оба ответа:

Должен ли я развернуть свой проект для создания файла dtsx? В папке моего проекта уже есть файл dtsx. Могу ли я не просто переместить этот файл на сервер B и изменить строку подключения и пути? Будет ли это работать таким образом?

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

https://docs.microsoft.com/en-us/sql/integration-services/lesson-5-add-ssis-package-configurations-for-the-package-deployment-model?view=sql-server-ver15

Версии больше SQL 2012: Создание каталога ssis на целевых серверах:

https://docs.microsoft.com/en-us/sql/integration-services/create-the-ssis-catalog?view=sql-server-2014.

Щелкните правой кнопкой мыши по проекту и используйте мастер для развертывания на целевом сервере. Строки подключения могут быть изменены в SQL Агенте, как указано выше, или вы можете использовать параметры:

https://docs.microsoft.com/en-us/sql/integration-services/lesson-6-using-parameters-with-the-project-deployment-model-in-ssis?view=sql-server-ver15

Последнее может показаться более трудным на первый взгляд , но есть множество преимуществ, и это предпочтительный способ работы

Средство развертывания служб SSIS не работает для меня с сервера A. Он не идентифицирует серверы назначения. Как можно выполнить развертывание легко? Как изменить пути назначения?

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

На сервере A установлен SSDT, а база данных SQL находится на одном сервере. Но целевой сервер B является сервером базы данных и не имеет SSDT. Я запланирую работу на SQL сервере сервера B, который вызовет мой пакет dtsx и выполнит его.

SSDT не имеет отношения к SSIS, но службы Integration Services это делают. SSDT - это инструмент разработчика, и его действительно следует устанавливать на машины разработчиков только для создания пакетов и тестирования. Лучше не иметь этого на сервере, потому что это стимулирует разработку, и разработчики могут войти на сервер, как будто это их ноутбук. Службы Integration Services - это служба, которая поставляется с SQL Server и используется для выполнения пакетов. Вам нужно будет добавить эту службу к экземпляру, если вы хотите выполнять пакеты от SQL Агента. Эта ссылка объясняет это и дает руководство по локальной установке SSDT:

https://docs.microsoft.com/en-us/sql/integration-services/install-windows/install-integration-services?view=sql-server-ver15

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...