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

问题描述 投票:29回答:3

我知道使用qazxsw poop非常好并且易​​于开发,我想知道在IIS服务器上托管网站时是否在生产中使用它是个好主意?

我问,因为我想知道它是否会在生产中出现任何速度问题。

这是我想在生产中使用的连接字符串

LocalDb
c# asp.net sql-server iis localdb
3个回答
42
投票

生产中绝对支持LocalDB。从性能的角度来看,它与SQL Server Express完全相同,因为它们共享相同的数据库引擎。

现在,对于在完整IIS中运行的站点,我建议使用基于服务的SQL Server Express实例。由于IIS作为服务运行,因此最好也有一个服务托管数据库。这意味着你不应该在你的连接字符串中使用Server=(LocalDB)\\v11.0;Integrated Security=SSPI;MultipleActiveResultSets=true; AttachDBFilename=|DataDirectory|ProjectDB.mdf; User Instance=true

如果你想了解更多,我推荐这个AttachDbFileName=...post on using LocalDB from full IIS, part 1。他们会详细介绍。


12
投票

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

允许 - 是的。引入LocalDB的Microsoft SQL Server Express博客中的its follow up, part 2

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


更新(2019年3月)

在几十个生产站点中使用LocalDB两年后,我将确认它是有效的。但是,如果您需要一个免费的多用户(LocalDB术语中的“共享”)DB,请改用SQL Server Express。 LocalDB不是一个好的多用户解决方案。要克服许多障碍。我现在没有时间,但如果您想了解有关这些障碍和相应解决方法的详细信息,请发表评论,我会在此处或其他问题中记录。


6
投票

我不这么认为,

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

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

© www.soinside.com 2019 - 2024. All rights reserved.