OriginalGriff
Сервер баз данных - это большой, сложный объект, и по уважительной причине у него есть большая, сложная работа!
Вы не "создаете сервер базы данных и имя экземпляра программно", вы устанавливаете систему сервера базы данных на соответствующий компьютер где-то в вашей сети и даете ей имя: и даже это чревато проблемами и сложной работой, которая требует тщательного планирования перед началом работы.
И вообще, ваше приложение даже не должно думать о том, чтобы выполнить саму установку сервера, хотя это можно сделать:
0) вы можете распространять SQL Server Express только по соображениям авторского права, а не полную версию SQL Server.
1) возможно, у них уже установлен SQL Server в сети. Если это так, то они, вероятно, захотят использовать эту версию.
2) Если у них установлен SQL server и вы начинаете распространять экземпляры SQL server Express, вы будете раздражать администратора базы данных до чертиков...
3) одна установка сайта SQL Server с гораздо большей вероятностью будет скопирована, чем несколько разрозненных версий под контролем пользователя.
4) Sql server довольно сложен для установки и администрирования "обычным" пользователем - это не очень хорошая идея!
5) это уничтожит основное преимущество использования Sql Server по сравнению с SqlCE или SQLite - многопользовательский доступ. Если каждый установит свою собственную копию SQL server, то у вас будет несколько копий вашей базы данных, каждая из которых используется одним человеком. Это вызовет некоторую путаницу и (в зависимости от того, как вы написали исходную базу данных) может потребовать значительных усилий для объединения в один экземпляр, когда проблема будет реализована.
Хорошенько подумайте о том, чего вы пытаетесь достичь: я подозреваю, что вы идете совершенно не в ту кроличью нору!