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

如何将Azure Cosmos DB模拟器数据及环境定义复制到其他机器?

Azure Cosmos DB 模拟器迁移与正式环境定义导出方案

一、跨机器复制模拟器数据库(紧急需求)

Azure Cosmos DB模拟器没有内置可视化导出/导入功能,直接复制安装文件夹无效,推荐两种可靠方法:

方法1:用官方数据迁移工具(dt.exe)

这是最稳妥的方式,能完整导出数据、容器属性、触发器等所有内容:

  • 下载官方提供的Data Migration Tool
  • 导出步骤:
    1. 打开工具,源数据源选Azure Cosmos DB (SQL API)
    2. 填入模拟器默认连接字符串:AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;
    3. 勾选要导出的数据库/容器,同时选中导出容器属性和导出存储过程、触发器、UDF
    4. 目标数据源选JSON文件或CSV文件,指定保存路径后开始导出
  • 导入到另一台机器的模拟器:
    1. 打开工具,源选刚才导出的文件
    2. 目标数据源填目标机器模拟器的连接字符串
    3. 勾选对应导入选项,执行导入即可

方法2:直接复制数据文件

模拟器的核心数据存在特定文件里,操作步骤:

  • 关闭两台机器的Cosmos DB模拟器
  • 找到原机器的数据文件:C:\Users\<你的用户名>\AppData\Local\CosmosDBEmulator\CosmosDBEmulator.exe_db
  • 把这个文件复制到目标机器的同目录下
  • 启动目标机器的模拟器,所有数据库、数据和定义都会自动加载

二、正式Azure账户的环境重建(导出定义)

要把模拟器的容器设置(TTL、分区键)、触发器等迁移到正式账户,用以下两种方法:

方法1:Azure CLI批量导出与创建

  • 导出定义:
    # 导出指定数据库下所有容器的定义到JSON
    az cosmosdb sql container list --account-name <正式账户名> --resource-group <资源组名> --database-name <数据库名> --output json > container_defs.json
    # 导出指定容器的触发器
    az cosmosdb sql trigger list --account-name <正式账户名> --resource-group <资源组名> --database-name <数据库名> --container-name <容器名> --output json > triggers.json
    
  • 重建:根据导出的JSON内容,用az cosmosdb sql database create、az cosmosdb sql container create、az cosmosdb sql trigger create等命令批量创建资源

方法2:ARM模板一键导出部署

  1. 登录Azure Portal,进入目标Cosmos DB账户,点击自动化 -> 导出模板
  2. 勾选需要导出的数据库、容器、触发器等资源,下载ARM模板和参数文件
  3. 在新的正式账户中,通过部署自定义模板上传下载的文件,一键完成环境重建

内容的提问来源于stack exchange,提问作者Gilles jr Bisson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 19:32:34