Я бы избегал SMO.
Это зависит от LOT от вашей аудитории и вашего контроля над ожидаемой средой, но при подключении готовых баз данных, хотя и удобная опция, иногда могут возникать проблемы - для началаэто бинарный файл под управлением исходного кода, так что вы не получаете различий бесплатно в вашей системе контроля версий.Кроме того, вы присоединяете базу данных с определенными параметрами и вещами, которые могут не подходить для конкретной целевой среды - SQL Server 2005, SQL Server 2008, SQL Server 2008 R2?Помимо всего прочего, это правильный подход, аналогичный тому, как можно было развертывать приложения Access в прошлом.
В менее контролируемой среде я бы выбрал сценарий SQL, содержащий все DDL (и DML).для справочных таблиц) или предоставления сценария, предлагая запустить его автоматически, а также предоставляя им возможность запускать его самостоятельно с помощью своих собственных инструментов (если у них есть администратор базы данных).
Теперь ваш сценарий (или, по крайней мере,шаблон для сценария или код, который генерирует сценарий) находится под контролем исходного кода и может удовлетворить администратора базы данных, который хочет его проверить.