【问题标题】:Apply local DB changes to Azure SQL Database将本地数据库更改应用到 Azure SQL 数据库
【发布时间】:2020-08-20 09:20:08
【问题描述】:

我有一个来自Server A 的备份文件,我将那个 .bak 文件复制到我的本地并将该数据库设置到我的 Sql Server Management Studio 中。现在设置它后,我将它部署在 Azure Sql 数据库中。但是现在Server A 中的数据发生了变化,因为它仍在使用中,所以我需要对刚刚部署的 Azure SQL 数据库进行所有这些更改。我该怎么做?

注意:我将 Azure 用于我的服务器,并且我有服务器 A 数据库的本地副本。所以基本上在数据和结构上我的本地和之前的Server A db是一样的。但是几天后服务器A的数据现在更新了,我的本地数据库仍然和我刚刚备份服务器A中的数据库时一样。

如何更新 Azure 中的数据库以获取服务器 A 中的所有更改并将其部署到 Azure 中?

【问题讨论】:

  • 这是一个有效的问题,但您的问题很可能是您没有从一开始就编写更改脚本。因此,您需要创建一个脚本来对数据库进行您想要进行的更改并运行它。没有很好的方法来比较数据库之间的结构变化并将差异应用于我所知道的其中一个。另一种方法是进行备份和恢复,但您将丢失目标数据库中的数据。

标签: azure azure-sql-database ssms management-studio-express


【解决方案1】:

您想要同步架构更改以及数据更改还是仅同步数据?如果只是数据,那么最好使用的服务是 Azure 数据迁移服务,该服务可以帮助您将数据的增量增量复制到 Azure,无论是在线还是离线方式,您还可以决定时间表.

【讨论】:

    【解决方案2】:

    您有几个选择。这只是关于迁移数据。这也是您要迁移哪些数据的问题。假设它是一个整洁、完整的替代品。然后,我建议查看bacpac mechanism。这是一种导出数据库、结构和数据的方法,然后将其导入新位置。这是迁移到 Azure 的一种机制。

    如果您不能简单地替换所有内容,则需要考虑其他选项。首先是SSIS。您可以构建管道来移动所需的数据。还有通过sqlcmd导出和导入,可以连接Azure SQL数据库。您还可以使用像 Redgate SQL Data Compare 这样的第三方工具来挑选要移动的数据。还有一大堆其他可能的提取/转换/加载 (ETL) 工具可以提供帮助。

    【讨论】:

    • 感谢您的回复。问题是我不知道进行了哪些更改以及它是什么表......如果有办法只取两者之间的差异并部署它或其他什么
    • @MadzQuestioning 当您设置源数据源和目标数据源进行比较时,这不就是任何数据比较工具都会实现的吗? documentation.red-gate.com/sdc/setting-up-the-comparison/…
    • 如果您不知道变化在哪里,那么您绝对需要像 Redgate SQL Data Compare 这样的比较工具。它可以识别更改的位置。你必须知道你的数据库在哪里。它无法为您找到它们。但是,在您的数据库中,它可以识别其中两个之间的数据差异。
    猜你喜欢
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多