SSDT - хороший вариант, однако вам и всем разработчикам потребуется некоторое время, чтобы привыкнуть к нему и понять, что такое автономная разработка и развертывание на основе состояния.Вы можете прочитать, как работает SSDT самостоятельно, однако есть несколько советов для вас:
- Для каждой базы данных, связанной с вашими запросами, вам нужно создать проект
- Если вы используете другую базу данных вкод, то этот проект должен быть добавлен в качестве ссылки
- Вместо 3/4 имен частей в коде (server.database.schema.name или database.schema.name) создавать синонимы для каждогоодин объект и в синониме используйте переменные для имен серверов и баз данных
- Не помещайте логины, пользователей и разрешения в этот проект
- Создайте профили публикации и внимательно изучите все настройки (например, исключить пользователей, учетные записи, разрешения и т. д. из развертывания)
- Существуют сценарии pre / post, в которых можно создавать обходные пути
В основном люди, опасающиеся полностью автоматизированного развертывания в PRODиспользование SSDT в качестве сценария генерируется автоматически, и существует только очень ограниченный контроль над окончательным сценарием развертывания (честно, вы можете контролировать практически все, используя вкладчики развертывания, но это тема другого обсуждения).Обычно между созданием сценария и его развертыванием существует шаг проверки сценария.
Итак, если вы будете придерживаться SSDT, для вас появится следующая карта:
- Создание проектов для всех баз данных, используемых вкод
- Создание синонимов для всех объектов в проекте, которые взяты из другой базы данных с переменными в качестве базы данных и именами экземпляров (очень важный момент)
- Использовать замену во всехнесколько файлов для всей внешней базы данных и экземпляров
СОВЕТ для замены.В коде есть несколько комбинаций имен объектов:
- INSTANCE.DATABASE.SCHEMA.OBJECT
- INSTANCE.DATABASE..OBJECT
- INSTANCE ...OBJECT
- Все другие комбинации с [] или "", например [dbo]. [SomeTable] или [dbo] .SomeTable
Итак, вы можете заменить INSTANCE с $ (InstanceName) для всех файлов, [База данных] с [$ (DatabaseName)] и т. Д.Проявите творческий подход и, в основном, когда вы знаете, что делать, с помощью этих приемов вы можете за несколько часов поставить практически любой дБ SSDT.