Forum Discussion
Fabric - Mirroring SQLServer MI - update policy
- 4 months ago
Hi fabricpribeiro,
Hope you're doing well.
The Update Policy is an instance level sitting in AzureSQLMI that controls which SQL engine features are available and how the internal database format is versionning. So, there are 3 update policies available, not just 2 ๐ :
- SQL Server 2022 (engine features aligned with SQL Server 2022)
- SQL Server 2025 (engine features alignes with SQL Server 2025)
- Always up to date (always get the latest features as soon as available in Azure)
Q1) SqlMI with SQL Server 2022 update policy should use Fabric mirroring for SQL Server 2016-2022, which uses CDC insted of the change feed.
Q2) Mirroring for SqlMI using the 2025 or always up to date update policies uses the fabric mirroing change feed feauture.
Q3) CDC works by asynchronously scanning the transaction log to find changes, then writing them to dedicate change tables (one per tracked source table). A SQL Server Agent job is responsible for that log scan and write. Fabric's replication layer then polls those change tables and pulls changes into Onelake.
The change feed (2025) is different, rather than routing changes through change tables, the change feed scans the transaction log at high frequency and publishes committed changes directly to a landing zone in Onelake. There are no change tables to maintain, no SQL Server Agent jobs to keep healthy, and no cleanup jobs running in the background purging old change records.
There are also operational differences around schema changes. For example, in SQL Server 2016-2022, when there is a DDL change, mirroring fails with an error saying the table definition has changed since CDC was enabled. In SQL Server 2025, when there is a DDL change, a complete data snapshot restarts for the changed table and data is reseeded automatically.
And the permissions model is cleaner which means rather than requiring sysadmin elevation to configure CDC, SQL Server 2025mirroring uses a system assigned managed identity to handle outbound authentification to Fabric.
Q4) You can enable the SQL Server 2025 update policy via the Azure portal by going to your SqlMI, then sitting, then maintenance and updates, then select the SQL Server 2025 bubble, then confirm. No scripts are required, instead you can use PowerShell/CLI/REST API.
However, there is an irreversibility warning to be aware of, when you change the update policy to SQL Server 2025, the internal database format is upgraded permanently. You cannot change the policy back to SQL Server 2022, and you can no longer use the features and benefits that require the SQL Server 2022 update policy.
Q5) SQL Server 2025 became the default update policy in the Azure portal during last month (March 2026). Since we are now in April 2026, a new instance deployed today will come with SQL Server 2025 by default which is exactly what you are looking for Fabric mirroring whith change feed. So, if you create new instances without explicity specifying the update policy in your IaC templates, you automatically get SQL Server 2025, which is probably what you want, but it should be a conscious decision, not a default you discover later.
Here's my recommandation :
Scenario What you get Action needed New SqlMI deployed today Sql Server 2025 by default confirm in Azure portal, proceed with change feed mirroring Existing SqlMI on 2022 CDC based mirroring, needs data gateway Evaluate upgrading to 2025 (irreversibility!!!) Existing SqlMI on Always up to date change feed mirroring no change needed Here's my advice : (request SQL Server 2025 (or always up to date) before setting up Fabric mirroring) The change feed approach is more robust operationally especially given that schema changes in prod are common and CDC based mirroring will break silently on them. The upgrade itself is just a portal click, but since it is irreversible, make sure the team is aligned and it's done in a controlled change window. Also be aware of that the SQL Server 2022 update policy will reach end of lifetime on January 11 2028, so you will have to migate away from it ๐
Hope this helps. Feel free to ask me questions if needed, and donโt forget to Accept as Solution if this guidance worked for you. That's motivate me to keep helping.
Best regards,
Oussama (Data Consultant & Fabric's Expert)
Hi fabricpribeiro,
Hope you're doing well.
The Update Policy is an instance level sitting in AzureSQLMI that controls which SQL engine features are available and how the internal database format is versionning. So, there are 3 update policies available, not just 2 ๐ :
- SQL Server 2022 (engine features aligned with SQL Server 2022)
- SQL Server 2025 (engine features alignes with SQL Server 2025)
- Always up to date (always get the latest features as soon as available in Azure)
Q1) SqlMI with SQL Server 2022 update policy should use Fabric mirroring for SQL Server 2016-2022, which uses CDC insted of the change feed.
Q2) Mirroring for SqlMI using the 2025 or always up to date update policies uses the fabric mirroing change feed feauture.
Q3) CDC works by asynchronously scanning the transaction log to find changes, then writing them to dedicate change tables (one per tracked source table). A SQL Server Agent job is responsible for that log scan and write. Fabric's replication layer then polls those change tables and pulls changes into Onelake.
The change feed (2025) is different, rather than routing changes through change tables, the change feed scans the transaction log at high frequency and publishes committed changes directly to a landing zone in Onelake. There are no change tables to maintain, no SQL Server Agent jobs to keep healthy, and no cleanup jobs running in the background purging old change records.
There are also operational differences around schema changes. For example, in SQL Server 2016-2022, when there is a DDL change, mirroring fails with an error saying the table definition has changed since CDC was enabled. In SQL Server 2025, when there is a DDL change, a complete data snapshot restarts for the changed table and data is reseeded automatically.
And the permissions model is cleaner which means rather than requiring sysadmin elevation to configure CDC, SQL Server 2025mirroring uses a system assigned managed identity to handle outbound authentification to Fabric.
Q4) You can enable the SQL Server 2025 update policy via the Azure portal by going to your SqlMI, then sitting, then maintenance and updates, then select the SQL Server 2025 bubble, then confirm. No scripts are required, instead you can use PowerShell/CLI/REST API.
However, there is an irreversibility warning to be aware of, when you change the update policy to SQL Server 2025, the internal database format is upgraded permanently. You cannot change the policy back to SQL Server 2022, and you can no longer use the features and benefits that require the SQL Server 2022 update policy.
Q5) SQL Server 2025 became the default update policy in the Azure portal during last month (March 2026). Since we are now in April 2026, a new instance deployed today will come with SQL Server 2025 by default which is exactly what you are looking for Fabric mirroring whith change feed. So, if you create new instances without explicity specifying the update policy in your IaC templates, you automatically get SQL Server 2025, which is probably what you want, but it should be a conscious decision, not a default you discover later.
Here's my recommandation :
| Scenario | What you get | Action needed |
| New SqlMI deployed today | Sql Server 2025 by default | confirm in Azure portal, proceed with change feed mirroring |
| Existing SqlMI on 2022 | CDC based mirroring, needs data gateway | Evaluate upgrading to 2025 (irreversibility!!!) |
| Existing SqlMI on Always up to date | change feed mirroring | no change needed |
Here's my advice : (request SQL Server 2025 (or always up to date) before setting up Fabric mirroring) The change feed approach is more robust operationally especially given that schema changes in prod are common and CDC based mirroring will break silently on them. The upgrade itself is just a portal click, but since it is irreversible, make sure the team is aligned and it's done in a controlled change window. Also be aware of that the SQL Server 2022 update policy will reach end of lifetime on January 11 2028, so you will have to migate away from it ๐
Hope this helps. Feel free to ask me questions if needed, and donโt forget to Accept as Solution if this guidance worked for you. That's motivate me to keep helping.
Best regards,
Oussama (Data Consultant & Fabric's Expert)