在生产中使用LocalDb是正常的吗?

我知道使用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=trueAttachDbFileName=...

如果您想了解更多信息,我建议您使用完整IIS中的LocalDB,第1部分 及其后续内容,第2部分 。 他们会详细介绍。

“正常” – 很难说,这是一个相对的术语。

允许 – 是的。 以下是 Microsoft SQL Server Express博客引用 LocalDB的引用:

“…如果LocalDB的简单性(和限制)符合目标应用程序环境的需求,开发人员可以继续在生产中使用它,因为LocalDB也是一个非常好的嵌入式数据库。

我不这么认为

尽管LocalDb和SQLExpress在性能上可能相同,但如果LocalDb的进程没有任何请求,它会自行关闭。 并且通常下一个请求需要太长时间才能响应(或者更糟糕的是,它会超时)。

我建议你安装自己的SQLEXPRESS实例。