Подтвердить что ты не робот

Нормально ли использовать LocalDb в производстве?

Я знаю, что использование LocalDb очень хорошо и легко для разработки, интересно, стоит ли использовать его в процессе создания сайтов на сервере IIS?

Я спрашиваю, потому что я задаюсь вопросом, не будет ли в производстве каких-либо проблем с производительностью.

Это моя строка соединения, которую я хочу использовать в производстве

Server=(LocalDB)\\v11.0;Integrated Security=SSPI;MultipleActiveResultSets=true;
AttachDBFilename=|DataDirectory|ProjectDB.mdf;
4b9b3361

Ответ 1

LocalDB абсолютно поддерживается в производстве. С точки зрения производительности он идентичен SQL Server Express, поскольку они имеют один и тот же механизм базы данных.

Теперь, для сайта, работающего в полном объеме IIS, я бы рекомендовал использовать служебный экземпляр SQL Server Express. Поскольку IIS работает как служба, лучше всего иметь базу данных, поддерживающую службу. Это означает, что вы должны не использовать User Instance=true или AttachDbFileName=... в своей строке подключения.

Если вы хотите узнать больше, я рекомендую этот пост при использовании LocalDB из полного IIS, часть 1 и его следовать, часть 2. Они вступают в более подробные сведения.

Ответ 2

"Нормальный" - сложно сказать, это относительный термин.

Разрешено - да. Вот цитата из блога Microsoft SQL Server Express, где была представлена LocalDB:

"... если простота (и ограничения) LocalDB соответствуют потребностям среды целевого приложения, разработчики могут продолжать использовать ее в работе, так как LocalDB также создает довольно хорошую встроенную базу данных ".


ОБНОВЛЕНИЕ (март 2019)

После использования LocalDB на десятках производственных площадок в течение двух лет, я подтверждаю, что это работает. Однако, если вам нужна бесплатная многопользовательская ("общая" в терминологии LocalDB) база данных, используйте вместо этого SQL Server Express. LocalDB не является хорошим многопользовательским решением. Есть много препятствий для преодоления. У меня сейчас нет времени, но если вам нужны подробности об этих препятствиях и соответствующих обходных путях, оставьте комментарий, и я запишу их здесь или в другом вопросе.

Ответ 3

Я так не думаю,

Несмотря на то, что LocalDb и SQLExpress могут быть одинаковыми по производительности, LocalDb Process завершает работу, если у него нет какого-либо запроса. И, как правило, следующий запрос занимает слишком много времени, чтобы ответить (или, что еще хуже, время истекает).

Я бы порекомендовал вам установить свой собственный экземпляр SQLEXPRESS.