ProjectsV13 LocalDB 实例的用途

Purpose of ProjectsV13 LocalDB instance

根据 this answer,SQL Server Data Tools 使用私有 LocalDB 实例 ProjectsV13,您不应该将其用于您自己的应用程序。相反,您应该使用 MSSQLLocalDB 或您自己的私有实例。

这在任何地方都有记录吗? SSDT 私有实例的用途是什么? (我什么也没看到。)

私有 LocalDB 实例基本上是在旋转 SQL 服务器的第二个副本吗?从表面上看,拥有专门用于工具元数据的数据库引擎听起来相当耗费资源。这到底有多耗费资源?它对启动和使用 Visual Studio 有性能影响吗?如果是这样,并且如果不是真的需要,您是否可以并且应该将其关闭或以其他方式合并实例?我的猜测不是;否则,SSDT 不会使用私有实例,但很高兴知道它在幕后是如何工作的。

主要原因是为了避免与 MSSQLLocalDB 上的任何 "production" 数据库发生冲突。 SSDT 为您打开的每个数据库项目创建一个新数据库。如果您的项目名为 Adventureworks,这可能会与 Web 项目创建的 Adventureworks 数据库或您正在 运行/调试的本地 ASP.NET 应用程序使用的数据库发生冲突。由于 SSDT 在后台自动执行此操作,因此感觉冲突风险过高。因此,使用了一个单独的实例。

LocalDB 的资源使用率非常低,并且不会在启动时发生(它是异步的)。它设计为在不使用时减速,但在 运行 VS 并打开 SQL 服务器对象资源管理器时确实有影响(10 MB),因为它连接到数据库。