На самом деле у вас есть три опции. Опция, которую вы не описали, это та, где вы создаете базу данных с помощью SSMS, а затем устанавливаете соединение с файлом и выбираете файл MDB, созданный SSMS (вам, вероятно, потребуется сначала размонтировать его. база данных, использующая SSMS, чтобы заставить SQL Express снимать блокировки файлов). Когда вы создали это соединение с файлом, вам будет предложено указать, хотите ли вы подключиться к нему там, где он есть, или добавить его в свой проект.
Локальная база данных может принимать две формы, в зависимости от того, как вы ее создаете. За подробной информацией обращайтесь к Как: управлять локальными файлами данных в вашем проекте .
Клиент-сервер, SQL Express
Если вы настроили базу данных с SSMS и подключились к ней через SQL Express, то у вас нет локальной базы данных, которая является частью вашего проекта, у вас есть база данных, для которой сервер оказывается локальным для вашей рабочей станции.
Локальная база данных, SQL Express
Если вы настраиваете базу данных с помощью SSMS, отключаете базу данных и добавляете файл в свой проект, то у вас есть локальная база данных, которая использует частный экземпляр SQL Express.
Локальная база данных, Compact Edition
Если вы создаете новую базу данных с помощью меню Visual Studio, у вас есть локальная база данных Compact Edition.
SQL Express
Когда Visual Studio запускает отладку, запускается частный именованный экземпляр SQL Server Express, и приложение связывается с ним с помощью общей памяти, а не сетевого протокола.
Однако ничто не мешает вам установить экземпляр SQL Express, который работает как служба. Вы можете смонтировать тот же файл базы данных (или его копию) и сделать его доступным для сети. Вы даже можете подключить его к экземпляру SQL Standard или даже к SQL Enterprise.
Зачем тогда ты копался с местным экземпляром? Это имеет преимущества для групп разработчиков, поскольку разработчики могут изменять свою схему, не мешая другим. Это позволяет разрабатывать программное обеспечение для настольных компьютеров (в отличие от сетевого), хотя в наши дни спрос на эту возможность уменьшается.
В зависимости от того, сколько оборудования у вас в среде разработки, лично я бы не использовал локальную базу данных. SQL Server - это память, и я бы предпочел, чтобы она работала в совершенно другом окне.
Некоторые вещи на заметку
- TSQL абсолютно идентичен для всех выпусков MSSQL, кроме выпусков Compact и Micro.
- Экологически SQL Express ограничивает размер базы данных 4 ГБ, хотя я считаю, что для R2 этот показатель достиг 8 ГБ. Это вряд ли будет значимым для разработки, но может повлиять на тестировщиков.
- Некоторые функции служб отчетов SQL Server недоступны в более дешевых выпусках.
SQL Server Compact Edition
Информация об этом довольно тонкая. Сравнение версий Microsoft не учитывает версии Compact или Micro. Некоторые из них на веб-странице Compact Edition заявляют о полной совместимости с TSQL. SDF - это файл «все в одном»; нет отдельного файла журнала. Путь от SDF к клиент-серверу, конечно, менее прямой, чем для SQL Express, но он представляется поддерживаемым вариантом, поскольку в msdn есть статьи на эту тему.
Для Compact Edition доступны средства репликации, так что его можно использовать в качестве кэша локальной базы данных в периодически подключаемой системе (так называемая модель портфеля). Модель портфеля требует более тщательного общего проектирования системы, но для этого нужно многое: вся производительность и простота однопользовательской автономной системы с большинством преимуществ системы клиент-сервер.
Заключение
Для ваших целей я бы выбрал вариант Compact Edition. Затраты и сложность других решений связаны с решением проблем, которых у вас нет и не будет. Они предназначены для решения проблем групповой разработки в сетевой крупномасштабной среде с формальным циклом выпуска.
Вы находитесь в удачном положении, что вы можете сохранить это простым. В любом случае инструменты в Visual Studio лучше.