SSIS, dtsx и пакеты развертывания - PullRequest
5 голосов
/ 12 января 2009

Я просто пытаюсь немного лучше понять пакеты служб SSIS и способы их развертывания. Поправьте меня, я ошибаюсь, но для любого развертывания я считаю, что должно быть как минимум два файла .SSISDeploymentManifest и .dtsx. .SSISDeploymentManifest действует как эквивалентный пакет установщика Windows, который указывает на .dtsx. DTSX - это фактический пакет «вещи», который упоминается как внешний файл, как при запуске программы установки. Когда вы устанавливаете его, пакет добавляется в список пакетов ssis для этого экземпляра.

Мои дальнейшие вопросы:

  • Если я хотел сохранить предыдущую версию того же пакета, могу ли я просто скопировать каталоги bin с двумя вышеуказанными файлами и сохранить отдельно, если мне нужно откатиться к предыдущему пакету?
  • Где эти пакеты установлены? Как SSIS узнает, где находятся пакеты?

Ответы [ 3 ]

17 голосов
/ 14 января 2009

Поправьте меня, я ошибаюсь, но для любого развертывания я считаю, что необходимо быть как минимум два файла .SSISDeploymentManifest и .dtsx. .SSISDeploymentManifest действует как эквивалентный установщик Windows пакет, который указывает на .dtsx. DTSX является актуальным пакетом «материал», который упоминается как внешний файл, как при запуске установщик. При установке пакет добавляется в список пакетов ssis для этого экземпляра.

Ваши предположения в основном верны. Вам не нужен манифест развертывания, но он может быть удобен. Кроме того, вам не нужно развертывать на экземпляре SQL Server. У вас также есть возможность развертывания в файловой системе. Я объясню оба ниже.

Относительно вашего первого вопроса:

Контроль версий:

Убедитесь, что вы разрабатываете и проверяете свои пакеты dtsx через visual studio. Маркируйте свои выпуски в SourceSafe или в любом другом контроле версий, который вы используете. Если вы регистрируетесь и ставите ярлыки, вы сможете легко вернуться к предыдущей версии. Как вы упомянули, вы также можете просто сохранить копию своего старого каталога bin, но естественно поместить их в устаревшие подпапки или что-то в этом роде. Однако это не заменяет правильного контроля версий.

Относительно вашего второго вопроса:

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

Как утверждает другой автор, сначала вы должны принять решение:

а) Развертывание пакетов в файловой системе б) Развертывание пакетов на MSDB

У каждого есть свои преимущества, и у каждого есть свои предпочтения. Я использовал оба, но я предпочитаю файловую систему, потому что она более прозрачна, но есть и что поддерживать.

Подробнее об этом см. В этом посте: http://blogs.conchango.com/jamiethomson/archive/2006/01/05/SSIS_3A00_-Common-folder-structure.aspx

Код находится в пакете dtsx. Как правило, чтобы сделать ваши пакеты переносимыми, вы также абстрагируете строки подключения и другую настраиваемую информацию в файл конфигурации (.dtsconfig) или переменную среды (файл не требуется). Смотрите BOL, чтобы узнать больше о конфигурации.

Файл манифеста содержит метаданные о том, какие файлы dtsx и config следует установить. Если вы откроете один, вы увидите, что это простой читаемый XML-файл.

Файл манифеста позволяет легко передать его администратору для развертывания (попросите его дважды щелкнуть файл манифеста и следовать указаниям, но им понадобятся инструкции.

Для меня файл манифеста более полезен для развертывания на SQL Server, чем в файловой системе. На самом деле все, что он делает - это копирует файлы dtsx и config и помещает их туда, где вы говорите. Вы также можете с легкостью дать указание администратору базы данных скопировать файлы dtsx в общую папку на сервере, а файлы конфигурации - в другую папку на том же сервере.

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

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

0 голосов
/ 05 апреля 2014

Что касается версий ваших пакетов служб SSIS, вам нужно запросить SSISDB, чтобы извлечь номера версий. Это раздражает, что такого рода информация не отображается непосредственно в Management Studio, но до тех пор, пока кто-то не найдет это полезным:

SELECT prj.[name] as Project
      ,pkg.[name] as Package
      ,pkg.[version_major]
      ,pkg.[version_minor]
      ,pkg.[version_build]
FROM [SSISDB].[internal].[packages] as pkg
JOIN [SSISDB].[internal].[projects] as prj
ON pkg.[project_id] = prj.[project_id]
ORDER BY prj.[name] 
0 голосов
/ 12 января 2009

При экспорте пакетов DTS с помощью мастера импорта / экспорта в SQL Server вы можете сохранить их на SQL Server или локально в файловой системе.

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