MSSqlLocalDB和ProjectsV的起源##

时间:2016-05-31 15:42:55

标签: visual-studio localdb

我以前只有(localdb)\ProjectsV12(localdb)\MSSQLLocalDB的SQL版本12 这是我安装VS 2015 Update 1以及SSDT工具(用于数据库项目)的时候。

我安装了Update 2,现在有了:

enter image description here

注意MSSQLLocalDB仍然是旧版本。

然而,一位同事做了VS 2015的全新安装并且有这个:

enter image description here

所以他们使用的是较新版本的MSSQLLocalDB,而且我的版本较旧。即使我们都是Visual Studio的Update 2。

我原本希望使用与MSSQLLocalDB无关的版本名称。问题是,如果每个人都在不同的版本上,这将不起作用,因为我有构建设置将数据库项目部署到localdb,这需要使用SqlPackage,它是特定于版本的:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120\SqlPackage.exe

我想了解MSSQLLocalDB的安装和更新位置和方式。我非常确定ProjectsV12 / 13是Visual Studio安装的一部分。

什么安装MSSQLLocalDB,以及更新它的内容?

复制

建议的副本只是将MSSQLLocalDB描述为“SQL Server 2014 LocalDB默认实例名称”。这并没有说明它作为一部分安装或更新它的内容。感谢

1 个答案:

答案 0 :(得分:10)

这里有几个相关的问题。

使用什么版本的SqlPackage.exe

SqlPackage和所有SSDT工具向后兼容SQL Server 2005.您应该使用以下130版本对任何数据库运行。它有最新的错误修复,可以针对所有公开发布的SQL版本:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130\SqlPackage.exe

无论是v13.0还是v12.0,这都将对MSSQLLocalDB起作用。

LocalDB实例 - 如何创建和管理

MSSqlLocalDB是一台始终安装在计算机上的默认实例。 ProjectsT12和ProjectsV13由SSDT使用LocalDB API创建。具有单独版本的目的是

  • 要保持与默认实例的隔离,因为许多其他进程使用它并且项目类型
  • 确保我们拥有一个已知版本(例如v13),以便我们可以使用最新的SQL Server功能可靠地发布它

为什么你和你的同事有不同的实例

您的同事直接安装了VS2015 Update 2,但未安装任何先前版本。这意味着旧代码从未在其计算机上创建ProjectsV12实例。

安装MSSQLLocalDB的内容以及更新内容的内容 如果您以前安装过LocalDB v12.0(通过使用SSDT作为VS2015 RTM或Update 1的一部分),它将连接到&启动了MSSqlLocalDB。因此,它将实例创建为版本12.0。

如果您之前从未启动此实例(例如您的同事的示例),那么首次启动时它将从v13.0 LocalDB运行,因此将v13.0作为实例版本。

据我所知,它不会在任何时候从v12.0升级到v13.0。

MSSqlLocalDB版本是否重要? 这取决于。对于大多数测试和临时开发这并不重要。

如果您关心版本,例如,如果您要为应用程序使用创建.bak文件的mdf,则应使用LocalDB API创建特定的SQL版本。只需下载相关版本的MSI,安装,&在实例创建期间通过API或command line使用-version标志。如果您使用正式的SSDT发布操作而不是F5部署,虽然使用"允许不兼容的平台"选项应该可以正常工作。