В итоге я написал собственный модификатор плана развертывания, управляемый с помощью переменных sqlcmd, указывающих объекты, к которым нельзя прикасаться во время развертывания. Каждая конфигурация проекта базы данных может ссылаться на свой набор этих переменных (файл .sqlcmdvars) - это можно установить на вкладке «Развертывание» в свойствах проекта.
Модификатор плана проверяет план развертывания и удаляет шаги, которые создают / изменяют / удаляют объекты, которые следует игнорировать. Мы используем его для игнорирования файлов данных (которые имеют разные имена в разных промежуточных средах), некоторых таблиц резервного копирования и нескольких типов объектов, которые мы не храним в проекте БД (пользователи, членство в ролях, разрешения на уровне базы данных). Функциональность аналогична (но более детальна) конфигурации Конфигурации сравнения схем (игнорируемые типы объектов), но она работает во время развертывания (также с VSDBCMD).
Часть «написать собственный модификатор плана развертывания» может показаться трудоемкой, но на самом деле все довольно просто, она заняла у меня меньше дня, включая части обучения и тестирования. Существует очень полезное пошаговое руководство по MSDN .