2012-11-26 4 views
22

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

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

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

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

Почему? Зачем? Зачем? Используйте соответствующий экземпляр SQL Server Express и подключите всех своих пользователей к одному и тому же общему экземпляру базы данных. В текущем режиме каждое соединение не будет запускать свою собственную копию базы данных, и оно будет отброшено после его завершения? Не обращайте внимания на то, что контекст безопасности не будет работать правильно здесь AFAIK и что вы, вероятно, будете нарушать лицензионное соглашение. Также почему вы используете MultipleActiveResultSets? Это специально? –

+5

Нет, LocalDB не предназначен для производства. –

+0

@AaronBertrand, потому что у меня есть 'Есть уже открытый DataReader, связанный с этой Командой, который должен быть закрыт первой ошибкой. – sed

ответ

36

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

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

Если вы хотите узнать больше, я рекомендую это post on using LocalDB from full IIS, part 1 и its follow up, part 2. Они переходят к более подробным сведениям.

+0

не уверен, как заставить его работать на сервере 2012, файл applicationHost.config не показывает asp.net 4.5 добавить запись имени после установки asp.net. –

+0

LocalDB абсолютно не поддерживается в производстве. –

+0

Что заставляет вас так сказать @HosseinShahdoost? Разве Microsoft отменила свою производственную поддержку? Если это так, может оказаться полезным ссылка. –

5

Я не думаю, что это так,

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

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

4

«Нормальный» - трудно сказать, это относительный термин.

Разрешено - да. Here is a quote из блога Microsoft SQL Server Express, где был введен LocalDB:

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

 Смежные вопросы

  • Нет связанных вопросов^_^