Ошибка: для запуска пакета служб SSIS за пределами SQL Server Data Tools необходимо установить Standard Edition Integration Services или выше - PullRequest
0 голосов
/ 29 апреля 2020

Мы переносим существующую систему из системы SQL Server 2005. Компонентом этой системы был проект SSIS, созданный с VS2005.

Мы установили SQL Server 2016 STANDARD EDITION в январе. Файлы данных базы данных находятся на диске E:

Мы установили Visual Studio 2017 в январе, но не использовали его в то время.

Недавно мы установили Visual Studio 2019 на сервер БД из-за проблем с доступом к файлам при локальном запуске VS2019 и использовании VPN для доступа к сети.

Мы только что установили SSIS из SQL Настройка сервера, понимая, что нам не хватает этого компонента.

В результате всех этих установок dtinstall.exe & dtexe c .exe находятся в следующих папках:

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Community \ Common7 \ IDE \ CommonExtensions \ Microsoft \ SSIS \ 140 \ Binn

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Community \ Common7 \ IDE \ CommonExtensions \ Microsoft \ SSIS \ 150 \ Binn

E: \ Program Files \ Microsoft SQL Сервер \ 130 \ DTS \ Binn

E: \ Program Files (x86) \ Microsoft SQL Сервер \ 130 \ DTS \ Binn

E: \ Program Files (x86) \ Microsoft SQL Сервер \ 120 \ DTS \ Binn

E: \ Program Files (x86) \ Microsoft SQL Сервер \ 110 \ DTS \ Binn

E: \ Program Files (x86) \ Microsoft SQL Студия управления сервером 18 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ SSIS \ 150 \ Binn

Файл dtexecui.exe находится ТОЛЬКО в следующей папке:

E: \ Program Files (x86) \ Microsoft SQL Студия управления сервером 18 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ SSIS \ 150 \ Binn

Два пакета Visual Studio 2019 были разработаны на диске C: на сервере. Они компилируются и выполняются корректно из VS.

Каждый пакет имеет 3 файла конфигурации (для сценария тестирования, предварительного просмотра и производства ios).

Сконфигурировал TargetServerVersion для 2 пакетов на "SQL Server 2016 "из-за проблемы совместимости, обнаруженной при установке Утилиты развертывания.

Создание Утилиты развертывания с использованием устаревшей модели развертывания пакетов.

Скопировал файлы Утилиты развертывания из C : ... \ Папка развертывания в папку на диске F: на сервере.

Запустите dtinstall.exe для установки пакетов на сервере. Он создал файлы на том же диске, где находятся файлы данных базы данных:

E: \ Program Files (x86) \ Microsoft SQL Сервер \ 130 \ DTS \ Packages \ Проект синхронизации служб веб-сайтов SSIS.

Выполнял пакеты, используя dtexecui.exe, который, как упоминалось выше, находится ТОЛЬКО в папке \ 150 \ Binn.

Вот командная строка DTexe c .exe, сгенерированная dtexecui :

/ FILE "\" E: \ Program Files (x86) \ Microsoft SQL Сервер \ 130 \ DTS \ Packages \ Синхронизация веб-сайта Проект SSIS \ Продукты Upload.dtsx \ "" / DECRYPT / CONFIGFILE "\" E: \ Program Files (x86) \ Microsoft SQL Сервер \ 130 \ DTS \ Packages \ Синхронизация веб-сайтов Проект SSIS \ Test Products.dtsConfig \ "" / ОТКАЗ ОТ ОТЧЕТА EW

После выполнение ( изнутри dtexecui ), на последнем шаге выдает ошибку, которая выполняет WZZIP.exe для архивирования плоских файлов, созданных на предыдущих шагах.

Ошибка dtexecui в WinZip, шаг

Сообщение об ошибке гласит: «Ошибка: Для запуска пакета служб SSIS за пределами SQL Инструменты данных сервера необходимо установить Standard Edition of Integration Службы или выше. "

Я не совсем понял это сообщение: у нас есть SQL Server Standard Edition. Я предполагаю, что SQL Установка сервера для этого установит Standard Edition Integration Services.

Я исследовал эту ошибку и обнаружил, что она часто возникает из-за несовместимости между пакетом версии и версия tool , но я не знал, как решить эту проблему в моем сценарии. Сообщение об ошибке dtexecui не давало подсказок.

1 Ответ

1 голос
/ 30 апреля 2020

В ходе тщательного документирования моей проблемы для публикации здесь я понял, что проблема может заключаться в том, что, поскольку я использовал \ 150 \ версию dtexecui.exe, он, вероятно, работает с \ 150 \ версией dtexe c .exe и , что является несовместимостью.

Я скопировал командную строку, сгенерированную dtexecui, а затем запустил ее, используя \ 130 \ версию dtexe c. Он запустился без ошибок.

Вот сеанс командной строки:

E:> CD E: \ Program Files (x86) \ Microsoft SQL Сервер \ 130 \ DTS \ Binn

E: \ Program Files (x86) \ Microsoft SQL Сервер \ 130 \ DTS \ Binn> dtexe c / FILE "\" E: \ Program Files (x86) \ Microsoft SQL Сервер \ 130 \ DTS \ Packages \ Синхронизация веб-сайта Проект SSIS \ Products Upload.dtsx \ "" / DECRYPT / CONFIGFILE "\" E: \ Программные файлы (x86) \ Microsoft SQL Сервер \ 130 \ DTS \ Packages \ Синхронизация веб-сайта SSIS Project \ Test Products.dtsConfig \ "" / CHECKPOINTING OFF / REPORTING EW

Microsoft (R) SQL Утилита для выполнения пакетов на сервере

Версия 13.0.5026.0 для 32-разрядных

Авторские права (C) 2016 г. Microsoft. Все права защищены.

Введите пароль для расшифровки:

Начало работы: 14:44:57

Предупреждение: 2020-04-29 14: 45: 01.31

Код: 0x80049304

Источник: Тип устройства SSIS.Pipeline

Описание: Предупреждение. Не удалось открыть глобальную общую память для связи с производительной DLL; Счетчики производительности потока данных недоступны. Для разрешения запустите этот пакет от имени администратора или на системной консоли.

Предупреждение о завершении

DTExe c: выполнение пакета вернуло DTSER_SUCCESS (0).

Начато: 14:44:57

Завершено: 14:45:06

Прошло: 9,344 секунды

E: \ Program Files (x86) \ Microsoft SQL Server \ 130 \ DTS \ Binn>

Теперь я знаю, что в моих подпрограммах вызова (хранимых процедурах и другом приложении) мне нужно вызвать эту указанную c версию dtexe c .exe.

Я действительно надеюсь, что это кому-то поможет!

...