Forum Discussion
Fabric-Disaster Recovery
Hi,
I read information about disarter recovery from two links https://learn.microsoft.com/en-us/azure/reliability/reliability-fabric?toc=%2Ffabric%2Fsecurity%2Ftoc.json&bc=%2Ffabric%2Fbreadcrumb%2Ftoc.json and https://learn.microsoft.com/en-us/fabric/security/experience-specific-guidance.
I would like to confirm whether I understand the operation correctly using the example of a scenario with a drawing.
Region A - Capacity C1 has Disaster Recovery enabled, the error region is not available occurs
Region B Capacity C1 is automatically created and contains the copied data in OneLake. The data is only available in Read-Only mode, it is possible to read it using the abfs path which is identical to before which means that the reports work.
That's right?
Problem 1 - I need a lakehouse to query data
According to the documentation I need to create a new capacity in region B and recreate the table metadata in the new lakehouse.
The documentation suggests using the copy function
Does using the cp function mean that the data will actually be copied or only the metadata will be recreated in the new lakehouse?
Problem 2 - I need a lakehouse to save data
If capacity C2 in region B is supposed to process data identically to the failed capacity(for example etl by notebook and save data to onalake), is this possible and what will happen when region A starts working again (data is sync)?
Problem 3 - Costs
The failure is on Microsoft's side, who bears the costs of creating a new capacity, calling scripts and other actions in order to continuously operate the service? Doesn't MS charge the costs associated with this or return them later?
Hi archipwc ,
Thank you for reaching out to the Microsoft Community Forum.
Problem 1: Need a Lakehouse to Query Data
Answer: The mssparkutils.fs.cp() function copies both the physical data and the metadata from the source to the destination Lakehouse. In your script:
mssparkutils.fs.cp(source, destination, true)
This means Data and structure (including the _delta_log which holds metadata for Delta Lake) are copied. The following filtering and deletion ensures only valid logs until the failover timestamp are kept.
Note: yes, the actual data files and logs are copied to the new Lakehouse.
Problem 2: Need a Lakehouse to Save Data
Answer: Yes, once you create Capacity C2 and a new Lakehouse in Region B, you can run ETL and write new data. However, this is a manual failover operation. When Region A comes back online, there is no automatic sync from Region B back to Region A.
You will need to handle conflict resolution and re-syncing manually (or using custom scripts). OneLake does not automatically merge changes between regions.Note:If you write to the Lakehouse during failover, those changes will not automatically appear in Region A when it recovers.
Problem 3: Costs
Answer: Microsoft does not automatically cover the costs of provisioning new capacity or resources. Even if the failure is on Microsoft’s side, you are responsible for managing and paying for: Creating a new capacity (C2), Running recovery and migration scripts, Any manual work to restore operational continuity.
Note: If the downtime was due to a Microsoft SLA breach, you may be eligible for service credits, but these require submission through official support channels and are not automatic.
Please refer microsoft official documents
OneLake Disaster Recovery and Data Protection - Microsoft Fabric | Microsoft Learn
OneLake consumption - Microsoft Fabric | Microsoft Learn
If my response has resolved your query, please mark it as the Accepted Solution to assist others. Additionally, a 'Kudos' would be appreciated if you found my response helpful.
Thank you
5 Replies
- v-dineshyaCommunity Support
Hi archipwc ,
Thank you for reaching out to the Microsoft Community Forum.
Problem 1: Need a Lakehouse to Query Data
Answer: The mssparkutils.fs.cp() function copies both the physical data and the metadata from the source to the destination Lakehouse. In your script:
mssparkutils.fs.cp(source, destination, true)
This means Data and structure (including the _delta_log which holds metadata for Delta Lake) are copied. The following filtering and deletion ensures only valid logs until the failover timestamp are kept.
Note: yes, the actual data files and logs are copied to the new Lakehouse.
Problem 2: Need a Lakehouse to Save Data
Answer: Yes, once you create Capacity C2 and a new Lakehouse in Region B, you can run ETL and write new data. However, this is a manual failover operation. When Region A comes back online, there is no automatic sync from Region B back to Region A.
You will need to handle conflict resolution and re-syncing manually (or using custom scripts). OneLake does not automatically merge changes between regions.Note:If you write to the Lakehouse during failover, those changes will not automatically appear in Region A when it recovers.
Problem 3: Costs
Answer: Microsoft does not automatically cover the costs of provisioning new capacity or resources. Even if the failure is on Microsoft’s side, you are responsible for managing and paying for: Creating a new capacity (C2), Running recovery and migration scripts, Any manual work to restore operational continuity.
Note: If the downtime was due to a Microsoft SLA breach, you may be eligible for service credits, but these require submission through official support channels and are not automatic.
Please refer microsoft official documents
OneLake Disaster Recovery and Data Protection - Microsoft Fabric | Microsoft Learn
OneLake consumption - Microsoft Fabric | Microsoft Learn
If my response has resolved your query, please mark it as the Accepted Solution to assist others. Additionally, a 'Kudos' would be appreciated if you found my response helpful.
Thank you- v-dineshyaCommunity Support
Hi archipwc ,
If my response has resolved your query, please mark it as the Accepted Solution to assist others. Additionally, a 'Kudos' would be appreciated if you found my response helpful.
Thank you- v-dineshyaCommunity Support
Hi @archipwc ,
If my response has resolved your query, please mark it as the Accepted Solution to assist others. Additionally, a 'Kudos' would be appreciated if you found my response helpful.
Thank you
- burakkaragozSuper User
Hi archipwc ,
we tested this setup recently – here’s what we learned:
1. mssparkutils.fs.cp() copies both data + metadata
yep, it copies actual files (including _delta_log) from Region A to Region B.
so if you run:mssparkutils.fs.cp("abfss://[email protected]/", "abfss://[email protected]/", True)you get a full copy, not just schema.
2. writing to Lakehouse in Region B works
after failover, you can create a new capacity + lakehouse in Region B and run ETL jobs there.
but: this is manual failover – Fabric doesn’t auto-switch or sync.3. when Region A comes back
there’s no automatic sync between Region B → A.
you’ll need to manually re-copy data or handle conflicts (e.g. with timestamps or versioning).4. cost
unfortunately, even if the outage is on MS side, you still pay for the new capacity + compute used during failover.
no auto-refund unless you raise a support ticket and prove SLA breach.If my response resolved your query, kindly mark it as the Accepted Solution to assist others. Additionally, I would be grateful for a 'Kudos' if you found my response helpful.