MSSqlLocalDB 和 ProjectsV## 的起源
Origin of MSSqlLocalDB and ProjectsV##
我之前只有 SQL 版本 12 (localdb)\ProjectsV12
和 (localdb)\MSSQLLocalDB
这是我安装 VS 2015 Update 1 以及 SSDT 工具(用于数据库项目)的时候。
我安装了 Update 2,现在有:
通知 MSSQLLocalDB 仍然是旧版本。
然而,一位同事全新安装了 VS 2015 并出现了这个:
所以他们使用的是更新版本的 MSSQLLocalDB,而我使用的是旧版本。即使我们都达到 Visual Studio.
的更新 2
我曾希望转而使用与版本无关的名称 MSSQLLocalDB。问题是,如果每个人都使用不同的版本,这将不起作用,因为我有将数据库项目部署到 localdb 的构建设置,这需要使用特定于版本的 SqlPackage:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC0\SqlPackage.exe
我想了解 MSSQLLocalDB 在何处以及如何安装和更新。我很确定 ProjectsV12/13 是 Visual Studio 安装的一部分。
什么安装 MSSQLLocalDB,什么更新它?
重复
提议的副本只是将 MSSQLLocalDB 描述为 "the SQL Server 2014 LocalDB default instance name"。这并没有说明它作为一部分安装的内容或更新它的内容。谢谢
这里有几个相关的问题。
使用什么版本的 SqlPackage.exe
SqlPackage 和所有 SSDT 工具向后兼容 SQL Server 2005。您应该使用以下 130 版本来 运行 针对任何数据库。它有最新的错误修复,可以针对所有公开发布的 SQL 版本:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC0\SqlPackage.exe
这将适用于 MSSQLLocalDB,无论它是 v13.0 还是 v12.0。
LocalDB 实例 - 它们是如何创建和管理的
MSSqlLocalDB 是始终安装在计算机上的默认实例。 ProjectsV12 和 ProjectsV13 由 SSDT 使用 LocalDB API 创建。有单独版本的目的是
- 与默认实例保持隔离,因为它被许多其他进程和项目类型使用
- 确保我们有一个已知版本(例如 v13),以便我们可以可靠地发布最新的 SQL 服务器功能
为什么你和你的同事有不同的实例
您的同事直接安装了 VS2015 Update 2,没有安装以前的版本。这意味着旧代码从未在他们的机器上创建 ProjectsV12 实例。
什么安装 MSSQLLocalDB,什么更新它
如果您之前安装了 LocalDB v12.0(通过使用 SSDT 作为 VS2015 RTM 或更新 1 的一部分),它将连接并启动 MSSqlLocalDB。因此,它将实例创建为版本 12.0.
如果您之前从未启动过此实例(例如您同事的示例),那么在首次启动时它将是来自 v13.0 LocalDB 的 运行,因此将 v13.0 作为实例版本。
据我所知,它不会在任何时候从 v12.0 升级到 v13.0。
MSSqlLocalDB 版本重要吗?
这取决于。对于大多数测试和临时开发来说,这真的无关紧要。
如果您关心版本,例如,如果您正在创建 .bak 文件的 mdf 供应用程序使用,那么您应该使用 LocalDB APIs 来创建特定的 SQL 版本。只需下载相关版本的 MSI,安装并在实例创建期间通过 API 或 command line 使用 -version 标志。如果您使用正式的 SSDT 发布操作而不是 F5 部署,也可能是这种情况,尽管使用 "Allow Incompatible Platform" 选项应该可以很好地解决问题。
我之前只有 SQL 版本 12 (localdb)\ProjectsV12
和 (localdb)\MSSQLLocalDB
这是我安装 VS 2015 Update 1 以及 SSDT 工具(用于数据库项目)的时候。
我安装了 Update 2,现在有:
通知 MSSQLLocalDB 仍然是旧版本。
然而,一位同事全新安装了 VS 2015 并出现了这个:
所以他们使用的是更新版本的 MSSQLLocalDB,而我使用的是旧版本。即使我们都达到 Visual Studio.
的更新 2我曾希望转而使用与版本无关的名称 MSSQLLocalDB。问题是,如果每个人都使用不同的版本,这将不起作用,因为我有将数据库项目部署到 localdb 的构建设置,这需要使用特定于版本的 SqlPackage:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC0\SqlPackage.exe
我想了解 MSSQLLocalDB 在何处以及如何安装和更新。我很确定 ProjectsV12/13 是 Visual Studio 安装的一部分。
什么安装 MSSQLLocalDB,什么更新它?
重复
提议的副本只是将 MSSQLLocalDB 描述为 "the SQL Server 2014 LocalDB default instance name"。这并没有说明它作为一部分安装的内容或更新它的内容。谢谢
这里有几个相关的问题。
使用什么版本的 SqlPackage.exe
SqlPackage 和所有 SSDT 工具向后兼容 SQL Server 2005。您应该使用以下 130 版本来 运行 针对任何数据库。它有最新的错误修复,可以针对所有公开发布的 SQL 版本:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC0\SqlPackage.exe
这将适用于 MSSQLLocalDB,无论它是 v13.0 还是 v12.0。
LocalDB 实例 - 它们是如何创建和管理的
MSSqlLocalDB 是始终安装在计算机上的默认实例。 ProjectsV12 和 ProjectsV13 由 SSDT 使用 LocalDB API 创建。有单独版本的目的是
- 与默认实例保持隔离,因为它被许多其他进程和项目类型使用
- 确保我们有一个已知版本(例如 v13),以便我们可以可靠地发布最新的 SQL 服务器功能
为什么你和你的同事有不同的实例
您的同事直接安装了 VS2015 Update 2,没有安装以前的版本。这意味着旧代码从未在他们的机器上创建 ProjectsV12 实例。
什么安装 MSSQLLocalDB,什么更新它 如果您之前安装了 LocalDB v12.0(通过使用 SSDT 作为 VS2015 RTM 或更新 1 的一部分),它将连接并启动 MSSqlLocalDB。因此,它将实例创建为版本 12.0.
如果您之前从未启动过此实例(例如您同事的示例),那么在首次启动时它将是来自 v13.0 LocalDB 的 运行,因此将 v13.0 作为实例版本。
据我所知,它不会在任何时候从 v12.0 升级到 v13.0。
MSSqlLocalDB 版本重要吗? 这取决于。对于大多数测试和临时开发来说,这真的无关紧要。
如果您关心版本,例如,如果您正在创建 .bak 文件的 mdf 供应用程序使用,那么您应该使用 LocalDB APIs 来创建特定的 SQL 版本。只需下载相关版本的 MSI,安装并在实例创建期间通过 API 或 command line 使用 -version 标志。如果您使用正式的 SSDT 发布操作而不是 F5 部署,也可能是这种情况,尽管使用 "Allow Incompatible Platform" 选项应该可以很好地解决问题。