问题 ProjectsV13 LocalDB实例的目的


根据 这个答案,SQL Server数据工具使用私有的LocalDB实例ProjectsV13,您不应该将它用于您自己的应用程序。相反,您应该使用MSSQLLocalDB或您自己的私有实例。

这在任何地方记录? SSDT使用其私有实例是什么? (我在里面看不到任何东西。)

私有LocalDB实例是否基本上是第二个SQL Server副本?从表面上看,拥有专用数据库引擎仅用于工具元数据听起来相当资源密集。这真的是资源密集型的吗?它对启动和使用Visual Studio有影响吗?如果是这样,如果它不是真的需要,你可以而且应该关闭它还是以其他方式合并实例?我的猜测不是;否则,SSDT不会使用私有实例,但知道这是如何工作的将是很好的。


2038
2018-04-04 15:09


起源

Visual Studio数据库项目和SQL Server对象资源管理器的错误报告,有助于说明混淆的原因: 数据库项目使用错误的默认LocalDB实例 - Edward Brey


答案:


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

LocalDB的资源使用率非常低,并且在启动时不会产生(它是异步的)。它设计为在不使用时降速,但在运行VS并打开SQL Server对象资源管理器时会产生影响(10 MB),因为它连接到DB。


12
2018-04-04 21:56