Выполнить сценарий SQL после сборки или регистрации служб SSIS

Я пытаюсь найти лучший способ протестировать наше приложение SSIS, которое используется для загрузки данных из файла в SQL Server и проверки данных файла.

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

Сценарий SQL:
- загружает "плохие" данные
- выполняет проверки SSIS
- обеспечивает обнаружение ошибок в данных
- выводит PASS или FAIL
- удаляет данные теста, если они пройдены

Можно ли как-нибудь автоматически запустить этот скрипт, например, после того, как кто-то проверит какой-то код? Должен ли я добавить его в качестве хранимого процесса?

Я взглянул на определение сборки шаблона по умолчанию, но не смог понять, как запустить этот скрипт SQL.

3 ответа

Решение

Похоже, что вы можете сделать это как часть проверки на основе моих 2 минут поиска.

Вместо этого вам нужно настроить сервер сборки для обработки действия. Из коробки MSBuild не имеет возможности запускать сценарий SQL, поэтому вам нужно поймать пакет расширений MSBuild и использовать SqlExecute

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

  1. Создайте тестовый комплект, который позволит вам загружать отдельный пакет из ваших скриптов SSIS и тестировать входы и выходы. По сути модульные тесты. Я сделал это для клиента несколько лет назад, и это сработало хорошо.
  2. Используйте инструмент управления выпусками, чтобы выдвинуть ваши пакеты, данные и все остальное, что вам нужно. Управление релизами для Visual Studio может сделать это легко.

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

Вы можете использовать агент SQL Server для встраивания, например, своего кода SQL, и затем вы можете запустить это задание из своего приложения.

Другие вопросы по тегам