Forum Discussion
Azure SQL Mirrored DB says "metadata tables are corrupted" when stopping then restarting replication
- 1 year ago
I heard back from MS support. TL;DR: you need to grant VIEW PERFORMANCE DEFINITION to the managed identity fabric is using to connect to the db:
GRANT SELECT, ALTER ANY EXTERNAL MIRROR, VIEW PERFORMANCE DEFINITION TO [User];The official docs only mention the need for `SELECT, ALTER ANY EXTERNAL MIRROR`.
This does not fix a database that already has corrupted metadata, but it makes it so that the reproduction steps I mention in the first post do not generate a metadata corruption in the first place.
I believe MS is planning to push a fix for this before the end of the month, but I don't know whether that will be just an update to the documentation or a code fix that makes the "ANY EXTERNAL MIRROR" permission sufficient.
- Start with a Fabric Mirror that is successfully replicating.
- Stop the Fabric compute that the mirror depends on.
- Restart the Fabric compute
- "Stop Replication" on the mirror
- "Start Replication" on the mirror
- This always produces a metadata corruption in the Azure SQL DB.
- Start with a Fabric Mirror that is successfully replicating.
- Stop the replication (keeping the fabric compute on)
- Start the replication again
- This intermittently produces a metadata corruption in the Azure SQL DB.
- Start with a Fabric Mirror that is successfully replicating.
- Stop the Fabric compute that the mirror depends on.
- Restart the Fabric compute.
- In the Fabric Mirror UI, click "Configure replication". Change nothing, then click "Apply changes"
- The replication will resume as expected.
Hi nlucero,
We sincerely regret the inconvenience this issue has caused and appreciate your detailed investigation, especially your valuable workaround using the reconfiguration approach. Given that the metadata corruption resides in the Azure SQL Database and requires a reset beyond standard portal options, we recommend raising a Microsoft support ticket for further assistance. You can create a support ticket using the link below:
https://learn.microsoft.com/en-us/power-bi/support/create-support-ticket
Please include the following details in your ticket to help the support team:
- The full error message (Msg 22710... Cannot enable fabric link on the database because the metadata tables are corrupted).
- The ArtifactId (352bb680-e0cc-4927-85d9-333b0b391c78 from your original post).
- The specific sequence triggering the issue (e.g., compute pause > stop/start replication).
- Your finding that reconfiguration avoids corruption.
If this guidance helps, please “Accept as Solution” and drop a “kudos” to make it easier for other community members to find. We hope this resolves the issue for you.
Thank you.
- WLY1681 year ago
Advocate I
Just to confirm I have experienced the exact same problem and managed to replicate the scenario using a Fabric Trial. Based on this risk we would not consider talking the technology to production. A simple start and stop of the replication should not have such a high impact on the source. For platform as a managed service this is truly alarming.
My steps were simply to:
1. Stop the fabric mirror2. Start the fabric mirror
Since it was a Fabric Trial I could find no way to pause the capacity.DBCC and using DMV's could not identify any problems / corruptions in the source Azure SQL Database. Dynamic Management Views are probably fruitless since the link itself cannot be established.
The exact same error : "Code: SqlChangeFeedError, Type: UserError, Message: Cannot enable fabric link on the database because the metadata tables are corrupted. ArtifactId: e21c6419-bdca-497c-8f00-96ad0c262608"Destroying the mirror and trying to recreate it from scratch has absolutely no effect on the outcome ... which re-inforces the suspicion that something fundamentally changes in the source database.
- v-ssriganesh1 year ago
Community Support
Hi nlucero,
Could you please confirm if the issue has been resolved after raising a support case? If a solution has been found, it would be greatly appreciated if you could share your insights with the community. This would be helpful for other members who may encounter similar issues.Thank you for your understanding and assistance.
- nlucero1 year ago
Advocate I
I raised a support case several days ago. Support confirmed that other users had reported a similar error and the product team is looking into it. A member of the product team was able to manually uncorrupt the metadata in my Azure SQL db, but I am still awaiting information about how/if I can do that for myself. And, in the interim, a different Azure SQL db has experienced metadata corruption in a slightly different scenario.
It has taken many days and I've received almost no useful information, despite following up with support almost daily. With the state of this technology and its support channel, I will likely need to find a different solution for this workload.
- WLY1681 year ago
Advocate I
I have also raised a support ticket. Since what I was working on was just PoC I did not require a "then and there" fix. They have confirmed that the only way to fix is by "fiddling" behind the scenes and that end-users are in no position to solve the problem for themselves. I was assured that it has been escalated with the Product Team with no commitment to an estimated fix date. The lack of "traceability" leaves me feeling uncomfortable that the issue has not made it's way onto the official "known issues" list. All that the support desk could provide is verbal assurance.
As it stand I will not take Fabric Mirror anywhere near a production workload without a root cause fix!