最近我们决定将旧的东西从 SQL Server 2012 迁移到 Azure SQL Server。我使用“导入->数据库”选项创建了一个 SSDT 项目,并将现有数据库从 SQL Server 2012 部署到 Azure 数据库。
出于某种原因,我们必须继续使用现有的“SQL Server 2012”数据库,因此我们的 DBA 正在更改“SQL Server 2012”数据库上的架构以实现新的业务功能。为了确保架构(SQL Server 2012 和 Azure SQL Server)我计划使用“架构比较”选项。我的源是本地“SQL Server 2012”数据库,目标是“Azure SQL Server”数据库。
完成比较后,我得到以下错误。
“指定 SQL Server 2012 作为目标平台的项目无法发布到 SQL Azure。”
是否有任何方法可以将本地数据库与 SQL Azure 进行比较,并使用 SSDT 将更改推送到 Azure 数据库?
最佳答案
在“架构比较”窗口中,单击“选项”按钮,转到“常规”,然后选择“允许不兼容的平台”。这将允许您比较不同的平台,例如这样。同样,发布时您可以在高级发布选项中选择此项。
我实际上建议将数据库项目的目标平台设置为 Azure 而不是 SQL 2012,因为它强制执行比 SQL 2012 目前更严格的规则集。您应该能够将使用 Azure 验证构建的任何内容部署到 SQL 2012,但反之则不然。相同的“允许不兼容平台”设置也可以这样工作。
关于azure - VS SSDT 项目 - 比较 Azure 和本地数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26091286/