【问题标题】:Can Visual Studio 2015 database project publish to both SQL Server _and_ Azure?Visual Studio 2015 数据库项目可以同时发布到 SQL Server 和 Azure 吗?
【发布时间】:2016-09-23 13:37:15
【问题描述】:

我有一个解决方案需要同时针对 SQL Server 2014 Microsoft Azure SQL 数据库 V12。

在我的项目设置中,如果我将目标平台设置为 Azure,我无法发布到 SQL Server - 我收到此错误:

将 Microsoft Azure SQL 数据库 v12 指定为 目标平台无法发布到 SQL Server 2014。

如果我将目标平台设置为 SQL Server 2014 并尝试发布到 Azure 数据库,则会收到相反的错误。

有什么方法可以发布到两个平台,而不必每次都更改项目设置?

请注意,我不是试图迁移。我需要用我的脚本来支持这两种类型的数据库。

【问题讨论】:

  • 口味……如此真实。一种是浑浊的,另一种是本地的味道……香草、烟雾、疼痛和痛苦的味道

标签: sql-server azure-sql-database sql-server-data-tools


【解决方案1】:

当你部署时,你可以使用AllowIncompatiblePlatform 标志,它应该让它部署。

我正在使用 Azure V12 和 Local Db Sql 2016,它正在发布到没有标志的本地数据库实例,因此该版本或最新的 ssdt 中可能发生了一些变化。

2020 年编辑:

Local db 是 2016 年,最新的 Azure 有一些它不支持的关键字,因此使用 Local db 变得越来越难(可能不再值得了)。本地开发实例或容器可能是要走的路(甚至是每个开发人员的小型 azure sqldb)

【讨论】:

  • 他们似乎已经删除了该选项(我正在使用更新 2。)我也没有看到 .sqlproj 中隐藏的任何内容。该标志是否出现在您的 .sqlproj 中?我想知道如果功能仍然存在,我是否手动添加它。
  • 通过将 True 添加到我的 *.publish.xml 这对我有用
  • 是的,它要么在发布配置文件中,要么你调用部署,你可以将它添加到那里(sqlpackage.exe = /p:AllowIncompatiblePlatform = true)或者 DacFx 有一个你可以设置的部署选项跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多