Выполнить сценарий SQL после сборки или регистрации служб SSIS
Я пытаюсь найти лучший способ протестировать наше приложение SSIS, которое используется для загрузки данных из файла в SQL Server и проверки данных файла.
Я создал сценарий SQL, который можно запустить, чтобы вставить "плохие" данные в таблицы базы данных и убедиться, что наши проверки выполняются правильно.
Сценарий SQL:
- загружает "плохие" данные
- выполняет проверки SSIS
- обеспечивает обнаружение ошибок в данных
- выводит PASS или FAIL
- удаляет данные теста, если они пройдены
Можно ли как-нибудь автоматически запустить этот скрипт, например, после того, как кто-то проверит какой-то код? Должен ли я добавить его в качестве хранимого процесса?
Я взглянул на определение сборки шаблона по умолчанию, но не смог понять, как запустить этот скрипт SQL.
3 ответа
Похоже, что вы можете сделать это как часть проверки на основе моих 2 минут поиска.
- Как изменить действие по умолчанию для регистрации в TFS?
- http://msdn.microsoft.com/en-us/library/ms243849(VS.80).aspx
- Могу ли я изменить действие по умолчанию для регистрации в TFS 2012? (Приятная картина)
- http://www.codeproject.com/Tips/562994/Perform-a-custom-action-for-Check-in-event-in-Micr
Вместо этого вам нужно настроить сервер сборки для обработки действия. Из коробки MSBuild не имеет возможности запускать сценарий SQL, поэтому вам нужно поймать пакет расширений MSBuild и использовать SqlExecute
Неправильный способ сделать это - использовать сервер сборки. Непрерывная интеграция состоит из множества частей, а сервер сборки действительно предназначен для компиляции и проверки, для которых не требуется экземпляр вашей среды. Есть две хорошие практики, которые вы можете применить:
- Создайте тестовый комплект, который позволит вам загружать отдельный пакет из ваших скриптов SSIS и тестировать входы и выходы. По сути модульные тесты. Я сделал это для клиента несколько лет назад, и это сработало хорошо.
- Используйте инструмент управления выпусками, чтобы выдвинуть ваши пакеты, данные и все остальное, что вам нужно. Управление релизами для Visual Studio может сделать это легко.
Эмпирическое правило, которое я всегда покупаю: если мне не нужен экземпляр чего-либо, кроме объектов памяти, то все, что мне нужно, это сервер сборки. Однако, если мне нужен экземпляр моего приложения, я хочу добавить инструменты управления релизами в свою стратегию непрерывной интеграции.
Вы можете использовать агент SQL Server для встраивания, например, своего кода SQL, и затем вы можете запустить это задание из своего приложения.