![](/img/trans.png)
[英]Since LocalDB is for development purpose, then use what DB for production?
[英]Is it normal to use LocalDb in production?
我知道使用LocalDb
非常好並且易於開發,我想知道在 IIS 服務器上托管網站時在生產中使用它是否是個好主意?
我問是因為我想知道它在生產中是否不會出現任何速度問題。
這是我想在生產中使用的連接字符串
Server=(LocalDB)\\v11.0;Integrated Security=SSPI;MultipleActiveResultSets=true;
AttachDBFilename=|DataDirectory|ProjectDB.mdf;
LocalDB 在生產中是絕對支持的。 從性能的角度來看,它與 SQL Server Express 相同,因為它們共享相同的數據庫引擎。
現在,對於在完整 IIS 中運行的站點,我建議使用基於服務的 SQL Server Express 實例。 由於 IIS 作為服務運行,因此最好也有一個服務托管數據庫。 這意味着您不應在連接字符串中使用User Instance=true
或AttachDbFileName=...
。
如果您想了解更多信息,我推薦這篇關於從完整 IIS 中使用 LocalDB 的帖子,第 1 部分及其后續內容,第 2 部分。 他們進入更多細節。
“正常” - 很難說,這是一個相對的術語。
允許 - 是的。 以下是引入 LocalDB 的 Microsoft SQL Server Express 博客的引述:
“...如果 LocalDB 的簡單性(和局限性)符合目標應用程序環境的需求,開發人員可以繼續在生產中使用它,因為 LocalDB 也是一個非常好的嵌入式數據庫。 ”
更新(2019 年 3 月)
在數十個生產站點使用 LocalDB 兩年后,我將確認它有效。 但是,如果您需要免費的多用戶(LocalDB 術語中的“共享”)數據庫,請改用 SQL Server Express 。 LocalDB 不是一個好的多用戶解決方案。 有許多障礙需要克服。 我現在沒有時間,但是如果您想了解有關這些障礙和相應解決方法的詳細信息,請發表評論,我將在此處或其他問題中記錄它們。
更新(2021 年 4 月)
Showstopper——共享(即多用戶)實例功能在 SQL Server LocalDB 2017 和 2019 中被破壞。安裝其中一個版本甚至會阻止訪問在早期版本中創建的共享實例。 問題記錄在這里。 唯一已知的“解決方法”是卸載損壞的 LocalDB 版本,並使用 LocalDB 2016 或更早版本。
更新(2021 年 9 月)
現在修復了之前更新(2021 年 4 月更新)中提到的Showstopper問題。 我已經成功測試了這兩個版本的修復。 最低版本為:
我不這么認為,
盡管 LocalDb 和 SQLExpress 在性能上可能相同,但如果一段時間內沒有任何請求,LocalDb 的進程會自行關閉。 而且通常下一個請求需要很長時間才能響應(或者更糟糕的是,它會超時)。
我建議您安裝自己的 SQLEXPRESS 實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.