【问题标题】:DB migration with Azure PowerShell使用 Azure PowerShell 进行数据库迁移
【发布时间】:2020-04-21 03:15:06
【问题描述】:

我们正在使用 azure 门户进行 SQL Db 迁移,现在我需要自动执行此任务(通过使用 Az powershell)。

我们为手动方法所遵循的步骤

  1. 首先我们需要从生产数据库中恢复一个 tempDB。
  2. 我需要从 tempDB 为 bd 导出 bacpac 文件
  3. 然后将此 bacpac 文件导入 UAT 数据库

谁能解释我如何使用 Az-power shell 实现这一目标?

我目前遵循的步骤,我在本地安装了 Az powershell 模块,试图探索Az.Sql API

但我没有找到任何用于数据库导出的 API

【问题讨论】:

  • 当您说 tempDB 时,您指的是名为 TempDB 的系统数据库还是指用户数据库?你想在哪里恢复数据库?请详细说明你想完成什么?
  • 您已标记 Azure-DevOps。你想从那里做这个吗?
  • 你看过dbatools.io/commands吗?看起来他们有一个命令可以满足您的所有需求。
  • 您需要多久自动执行一次任务?如果您只是一次,只需手动执行。没有任何 API 可以在一个命令中自动执行这些步骤。这些步骤需要一一执行完毕。

标签: azure powershell azure-sql-database


【解决方案1】:

假设“restore a tempDB from production db”的意思是要创建一个生产数据库的临时工作副本,那么解决方案如下:

  1. 使用New-AzSqlDatabaseCopy 创建生产数据库的副本。 (您可以在使用完后通过 Remove-AzSqlDatabase 删除副本)
  2. 使用 New-AzSqlDatabaseExport 将 .bacpac 导出到 Azure 存储帐户中的目标位置。
  3. 使用 New-AzSqlDatbaseImport 从 Azure 存储帐户中的源导入 .bacpac。

编辑:

相反,如果“从生产数据库恢复 tempDB”是指真正的恢复,那么您应该使用命令 Restore-AzSqlDatabase

【讨论】:

  • 想解释一下否决票?如果有问题,我希望有机会改进答案。
猜你喜欢
  • 2016-02-28
  • 2017-02-10
  • 2019-12-02
  • 2021-02-01
  • 1970-01-01
  • 2018-11-26
  • 2016-05-06
  • 2016-10-15
  • 1970-01-01
相关资源
最近更新 更多