You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Synapse:重新部署工作区时迁移专用SQLPool至其他工作区

迁移Synapse专用SQL池至新工作区的可行方案

Synapse专用SQL池无法直接跨工作区移动,以下是几种可靠的迁移方法,可根据你的场景选择:

方法一:异地恢复(Geo-restore)

这是最简便的方案,适用于源工作区仍存在且开启异地备份的场景(默认开启):

  • 登录Azure门户,进入目标Synapse工作区
  • 在左侧导航栏「数据管理」下选择「专用SQL池」
  • 点击「+ 新建」,选择「从备份恢复」
  • 在恢复配置界面,选择源订阅、源工作区,选中需要迁移的专用SQL池
  • 设置目标池的名称、性能级别(如DW100c),确认后启动恢复流程
  • 恢复完成后,目标工作区会生成与源池结构、数据完全一致的专用SQL池

方法二:导出/导入结合BCP工具

若异地恢复不可用(比如源工作区已删除但有本地备份),可通过中间存储中转:

  1. 导出源池数据
    使用bcp命令将数据导出到Azure Blob存储:

    bcp [DB名].[架构名].[表名] out "azureblob://<存储容器名>.blob.core.windows.net/<导出路径>/<文件名>.bcp" -S <源SQL池服务器名>.database.windows.net -d <DB名> -U <用户名> -P <密码> -q -c -t "," -r "\n"
    

    也可通过Synapse Studio的数据集成功能创建复制活动,批量导出数据到Blob存储。

  2. 在目标工作区创建空池
    导出源池的DDL脚本(可通过SSMS或Synapse Studio生成),在目标工作区执行脚本创建结构一致的空专用SQL池。

  3. 导入数据到目标池
    同样使用bcp命令从Blob存储导入数据:

    bcp [DB名].[架构名].[表名] in "azureblob://<存储容器名>.blob.core.windows.net/<导出路径>/<文件名>.bcp" -S <目标SQL池服务器名>.database.windows.net -d <DB名> -U <用户名> -P <密码> -q -c -t "," -r "\n"
    

方法三:Azure Data Factory(ADF)复制迁移

适合需要批量迁移多个对象的场景:

  • 在ADF中创建管道,源数据集选择源Synapse专用SQL池,目标数据集选择目标工作区的空专用SQL池(需先创建结构)
  • 配置复制活动的字段映射,运行管道完成数据迁移
  • 同步存储过程、视图等对象:导出源池的DDL脚本,在目标池执行创建

迁移注意事项

  • 迁移前暂停源专用SQL池可降低成本,恢复完成后按需启动目标池
  • 确保目标工作区的网络配置(防火墙、VNet)允许与源池/Blob存储的连接
  • 迁移完成后需验证数据完整性,比如对比表行数、关键数据值
  • 源池的权限、作业等配置需手动在目标工作区重新配置

内容的提问来源于stack exchange,提问作者R. Maier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 13:12:22