путаница с SQL Server Express и localdb

Мне нужно развернуть службу WCF с базой данных на клиентских машинах. Меня смущает SQL Server Express. Мне нужно проверить все следующее.

При присоединении файлов базы данных в папке App_Data мне все равно нужно устанавливать ядро ​​SQL Server Express (служба Windows) на клиентских машинах?

Существует разновидность SQL Server Express LocalDb. Кому не нужен движок (служба Windows)? Но я думаю, что для этого нужна предварительная установка LocalDb.

Localdb представлен в SQL Server 2012. Для SQL Server 2008 НЕТ localdb. Верно? Версию 2008 года на сайте MS найти не удалось.


person Costa    schedule 09.07.2013    source источник
comment
Вы правы, SQL Server LoclalDB появился в версии 2012.   -  person Felix Zumstein    schedule 12.07.2013


Ответы (1)


Нужно ли мне по-прежнему устанавливать ядро ​​SQL Server Express (службу поддержки) на клиентских машинах?

Да, они должны быть установлены, чтобы ваше приложение могло запрашивать базу данных. Не могу обойтись без этого.

Существует разновидность SQL Express localDb. Кому не нужен двигатель (сервис win)? но я думаю, что для этого нужна необходимая установка localdb.

Да, вам все равно нужно установить LocalDB на клиентском компьютере. Это довольно легко сделать, но я думаю, что это излишне, если вам действительно не нужны все функции экземпляра SQL Server для вашего веб-сервиса.

Вместо LocalDB я настоятельно рекомендую использовать SQL Server Compact Edition - он выполняет ту роль, которую вы » вспомните (ваша служба WCF может просто напрямую подключаться к файлу базы данных на ваших клиентских машинах без установки SQL Server, и она легковесна), но не требует установки (она просто включена как DLL в ваше приложение WCF):

В отличие от других выпусков Microsoft SQL Server, SQL CE работает внутри процесса с приложением, в котором он находится.

По словам Microsoft, на различия между LocalDB и SQLCE:

LocalDB и SQL Server Compact?

Маленькая и простая база данных, легкая установка, подключение к файлу базы данных - это будет знакомо любому разработчику, использующему SQL Server Compact. Сходства не случайны, поскольку нашей целью было сделать LocalDB таким же простым в использовании, как SQL Server Compact (при этом быть таким же мощным и совместимым с полным SQL Server, как SQL Express).

Между LocalDB и SQL Server Compact есть существенные различия:

Режим выполнения: SQL Server Compact - это внутрипроцессная DLL, а LocalDB работает как отдельный процесс.

SQL Server CE похож на обновленную версию MS Access, файл идет с приложением, которое может «просто подключаться» к файлу базы данных без установки какого-либо сервера базы данных, а его синтаксис / функции очень близки к стандарту SQL Server.

person Ryan Weir    schedule 09.07.2013
comment
Я не понимаю, зачем разработчику нужно помещать файл базы данных в папку App_Data? - person Costa; 09.07.2013
comment
Потому что это явная цель папки App_Data в проектах Visual Studio - недоступное из Интернета место для вашего приложения для хранения необходимых ему локальных файлов (в данном случае файла базы данных). - person Ryan Weir; 09.07.2013
comment
Я почти уверен, что SQL Server Compact Edition устарел, кстати. См. Обсуждение по первой ссылке и более подробную информацию о различиях между разными версиями во второй ссылке. stackoverflow .com / questions / 20363374 / blogs.msdn.microsoft.com/sqlexpress/2011/07/12/ - person Ami Schreiber; 14.10.2016