MSSqlLocalDB和ProjectsV的起源##

Aar*_*nLS 7 visual-studio localdb

我以前只有SQL版两个12 (localdb)\ProjectsV12(localdb)\MSSQLLocalDB 这是当我有VS 2015年更新1安装,使用SSDT工具(数据库项目)一起.

我安装了Update 2,现在有:

在此输入图像描述

注意MSSQLLocalDB仍然是旧版本.

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

在此输入图像描述

所以他们使用的是较新版本的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默认实例名称".这并没有说明它作为一部分安装或更新它的内容.谢谢

Kev*_*ane 11

这里有几个相关的问题.

使用什么版本的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
Run Code Online (Sandbox Code Playgroud)

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

LocalDB实例 - 它们是如何创建和管理的

MSSqlLocalDB是始终安装在计算机上的默认实例.ProjectsV12和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版本.只需在实例创建期间通过API或命令行下载相关的版本化MSI,安装和使用-version标志.如果您使用正式的SSDT发布操作而不是F5部署,也可能是这种情况,尽管使用"允许不兼容的平台"选项应该可以正常工作.