На самом деле у вас есть три варианта. Вариант, который вы не описали, — это тот, где вы создаете базу данных с помощью SSMS, а затем настраиваете соединение с файлом и выбираете файл MDB, созданный SSMS (вам, вероятно, потребуется сначала отключите базу данных с помощью SSMS, чтобы заставить SQL Express снять блокировки файлов). Когда вы создали это подключение к файлу, вам будет предложено указать, хотите ли вы подключиться к нему там, где он есть, или добавить его в свой проект.
Локальная база данных может принимать две формы, в зависимости от того, как вы ее создаете. Подробную информацию см. в разделе Как управлять локальными файлами данных в проекте. .
Клиент-сервер, SQL Express
Если вы настраиваете базу данных с помощью SSMS и подключаетесь к ней через SQL Express, то у вас нет локальной базы данных, которая является частью вашего проекта, у вас есть база данных, для которой сервер оказывается локальным по отношению к вашей рабочей станции.
Локальная база данных, SQL Express
Если вы настроите базу данных с помощью SSMS, отключите базу данных и добавите файл в свой проект, то у вас будет локальная база данных, использующая частный экземпляр SQL Express.
Локальная база данных, компактная версия
Если вы создаете новую базу данных с помощью меню Visual Studio, у вас есть локальная база данных Compact Edition.
SQL экспресс
Когда Visual Studio запускает отладку, запускается частный именованный экземпляр SQL Server Express, и приложение взаимодействует с ним, используя общую память, а не сетевой протокол.
Однако ничто не мешает вам установить экземпляр SQL Express, работающий как служба. Вы можете смонтировать тот же файл базы данных (или его копию) и сделать его доступным для сети. Вы даже можете смонтировать его на экземпляре SQL Standard или даже SQL Enterprise.
Зачем тогда возиться с локальным экземпляром? Он имеет преимущества для команд, состоящих из нескольких разработчиков, поскольку разработчики могут изменять свою схему, не нарушая работу других. Это позволяет разрабатывать настольное (в отличие от сетевого) программное обеспечение, хотя в наши дни спрос на эту возможность уменьшается.
В зависимости от того, сколько оборудования у вас есть в вашей среде разработки, лично я бы не стал использовать локальную базу данных. SQL Server — это свинья памяти, и я бы предпочел, чтобы он работал на совершенно отдельном компьютере.
Некоторые вещи, чтобы отметить
- TSQL абсолютно идентичен для всех редакций MSSQL, кроме редакций Compact и Micro.
- Экологически SQL Express ограничивает размер базы данных до 4G, хотя я полагаю, что для R2 он увеличился до 8G. Это вряд ли будет иметь значение для разработки, но может повлиять на тестировщиков.
- Некоторые функции SQL Server Reporting Services недоступны в более дешевых выпусках.
Компактный выпуск SQL Server
Информация об этом довольно скудная. Сравнение версий Microsoft не учитывает выпуски Compact или Micro. Некоторые рекламные объявления на веб-странице компактной версии заявляют о полной совместимости с TSQL. SDF — это файл «все в одном»; отдельного лог-файла нет. Путь от SDF к клиент-серверу, безусловно, менее прямой, чем для SQL Express, но, похоже, он поддерживается, поскольку на эту тему есть статьи в msdn.
Для версии Compact доступны инструменты репликации, поэтому ее можно использовать в качестве локального кэша базы данных в системе с периодическим подключением (так называемая модель портфеля). Портфельная модель требует более тщательного проектирования всей системы, но она имеет много преимуществ: все производительность и простота автономной системы для одного пользователя с большинством преимуществ системы клиент-сервер.
Вывод
Для ваших целей я бы выбрал вариант Compact Edition. Накладные расходы и сложность других решений направлены на решение проблем, которых у вас нет и не будет. Они предназначены для решения задач командной разработки в сетевой крупномасштабной среде с формальным циклом выпуска.
Вам повезло, что вы можете сделать все просто. Инструменты в Visual Studio в любом случае лучше.
person
Peter Wone
schedule
30.06.2011
Add New Item -> Local Database
добавит в ваш проект экземпляр базы данных SQL Server Compact Edition (CE) (один файл .sdf). Это встроенная однопользовательская локальная база данных — это НЕ SQL Server Express (и не серверный продукт)! - person marc_s   schedule 30.06.2011