ProjectsV13 LocalDB实例的目的

时间:2017-04-04 15:09:59

标签: visual-studio sql-server-data-tools localdb

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

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

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

1 个答案:

答案 0 :(得分:16)

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

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