Cosmos DB - Container Copy Features

Kaushik Dutta 265 Reputation points
2026-09-15T14:20:43.31+00:00

Hello Team,

I wanted to know about the current state of the "Container Copy" features in Cosmos DB. Is it in General Available state or in Preview?

Is it available for cross-subscription data copy process? Is this a good feature to use for bulk data copy activity from one env. to another env during environment refresh activities?

Also, in this regards, what will be the best solution to adopt if we need to perform bulk data copy from Production Cosmos Container to a lower environment Cosmos container in least amount of time with minimal cost?

Thanks,

Kaushik

Azure Cosmos DB
Azure Cosmos DB

An Azure NoSQL database service for app development.

0 comments No comments

Answer accepted by question author
Himaja Y 545 Reputation points Microsoft External Staff Moderator
2026-09-15T14:37:06.6833333+00:00

Hi @Kaushik Dutta ,

Thank you for reaching out to the Microsoft Q&A.

Azure Cosmos DB Container Copy can be useful for data migration scenarios, but before adopting it, verify whether the feature is currently General Availability (GA) or still in Preview, as this affects supportability and production readiness.

For large-scale environment refreshes (Production → Lower Environment), the recommended approach is Azure Data Factory (ADF) Copy Activity. It supports cross-subscription data movement, scales well for bulk data transfers, and provides better control over performance and cost.

Recommendation: If your goal is to copy a large Cosmos DB container in the shortest time with minimal cost, use Azure Data Factory with parallel copy settings and temporarily increase RU/s during the migration window. This is the most commonly recommended and reliable approach for enterprise-scale refresh activities.

If refreshes are frequent, consider a Change Feed-based replication solution instead of performing full copies each time.

Was this answer helpful?

1 person found this answer helpful.

Answer accepted by question author

AI answer

2026-09-15T14:21:03.5633333+00:00

Container copy in Azure Cosmos DB is currently Preview.

Supported scope from the provided documentation:

  • It is used to copy data within an Azure Cosmos DB account.
  • For API for NoSQL, it supports container copy jobs in Azure Cosmos DB accounts.
  • For API for MongoDB, it supports offline collection copy within the same Azure Cosmos DB for MongoDB account.
  • For API for Apache Cassandra, it supports offline table copy within the same Azure Cosmos DB for Apache Cassandra account.

The provided documentation does not describe cross-subscription container copy support. Based on the documented scope, this feature is positioned for intra-account copy scenarios such as:

  • copying all items from one container to another
  • changing partition key
  • updating unique keys
  • renaming a container or database
  • adopting features supported only for new containers

For bulk copy during environment refresh, whether it is a good fit depends on the API and copy mode:

  • API for NoSQL supports online and offline copy patterns.
  • MongoDB and Cassandra APIs in the provided documentation describe offline copy.
  • For offline copy, writes to the source should be stopped before starting the job. Otherwise, updates and deletes after the job starts might not be captured, and the target can end up with duplicate or missing data.

If the goal is the least amount of time, the documented performance guidance is:

  1. Create the target container/table/collection first with the required settings.
  2. Run the copy job using Azure CLI or Azure portal.
  3. Set the target throughput to at least two times the source throughput.
  4. Be aware that copy rate is affected by:
    • source throughput
    • target throughput
    • server-side compute allocated by the platform
  5. The default SKU provides two 4-vCPU, 16-GB server-side instances per account.

If the goal is minimal cost, the documentation provided does not give a separate recommended low-cost alternative for cross-environment or cross-subscription bulk copy. It only documents container copy behavior and prerequisites. For NoSQL online copy, there is also an RU surcharge on replace and delete operations on the source account, ranging from 50-100% on top of base write RU charges by document size.

Practical guidance supported by the documentation:

  • Use container copy when the source and destination fit the documented scope and when creating a new target container with different settings is required.
  • For the fastest documented copy progress, provision the destination with higher throughput, especially at least 2x the source.
  • For offline copy, stop source activity first to avoid data inconsistency.
  • For NoSQL online copy, enable continuous backup and All versions and deletes change feed mode on the source account, then wait at least 30 minutes after enabling the capability before creating the online copy job.

References:

AI-generated content may be incorrect. Read our transparency notes for more information.

Was this answer helpful?

1 person found this answer helpful.

0 additional answers

Sort by: Oldest

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.