iis 在生产环境中使用LocalDb正常吗?

fbcarpbf  于 2022-11-12  发布在  其他
关注(0)|答案(3)|浏览(228)

我知道使用LocalDb是非常好的和容易的开发,我想知道它是否是一个好主意,使用它在生产时,我主机的网站在IIS服务器?
我这么问是因为我想知道它在生产中是否会有任何速度问题。
这是我希望在生产中使用的连接字符串

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

mepcadol1#

LocalDB在生产环境中绝对受支持。从性能的Angular 来看,它与SQL Server Express完全相同,因为它们共享相同的数据库引擎。
现在,对于在完整IIS中运行的站点,我建议使用基于服务的SQL Server Express示例。由于IIS是作为服务运行的,因此最好也有一个服务托管的数据库。这意味着您应该在连接字符串中使用User Instance=trueAttachDbFileName=...
如果你想了解更多,我推荐这个post on using LocalDB from full IIS, part 1its follow up, part 2。他们深入到更多的细节。

7d7tgy0s

7d7tgy0s2#

“正常”--很难说,那是个相对的术语。
允许-是的。Here is a quote来自引入LocalDB的Microsoft SQL Server Express博客:

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

更新(2019年3月)
在几十个生产站点中使用LocalDB整整两年之后,我将确认它是否有效。(LocalDB术语中的“共享”)DB,请改用SQL Server Express。LocalDB不是一个好的多用户解决方案。有许多障碍需要克服。我现在没有时间,但如果您希望了解有关这些障碍和相应解决方案的详细信息,请留下评论,我会在这里或其他问题中记录下来。
更新(2021年4月)

  • Showstopper* --SQL Server LocalDB 2017和2019中的共享(即多用户)示例功能已损坏。* 安装 * 其中一个版本甚至会阻止访问在 * 较早 * 版本中创建的共享示例。问题是documented here。唯一已知的“解决方法”是卸载损坏的LocalDB版本,并使用LocalDB 2016或更早版本。

更新(2021年9月)
现在有a fix for the Showstopper issue在前面的更新(2021年4月更新)中提到。**我已经成功地测试了这两个版本的修复。**最低版本为:

tmb3ates

tmb3ates3#

我不这么认为,
尽管LocalDb和SQLExpress在性能上可能是一样的,但如果LocalDb的Process在一段时间内没有任何请求,它就会自行关闭。而且通常下一个请求需要很长时间才能响应(更糟糕的是,它会超时)。
我建议您安装自己的SQLEXPRESS示例。

相关问题