Forum Discussion
On-Premises SQL Server Mirroring: Internal system error occurred. ArtifactId: 8190a71d-9f0b-46c1-a3b
- 10 months ago
Hi!
I have found the issue:select name, is_cdc_enabled from sys.databases; EXEC sys.sp_cdc_enable_dbreturned that CDC is not enabled for the DB.
When trying to enable it with:EXEC sys.sp_cdc_enable_dbit failed with
Could not update the metadata that indicates database pstDemo is enabled for Change Data Capture. The failure occurred when executing the command 'SetCDCTracked(Value = 1)'. The error returned was 15517: 'Cannot execute as the database principal because the principal "dbo" does not exist, this type of principal cannot be impersonated, or you do not have permission.'. Use the action and error to determine the cause of the failure and resubmit the request.
This I fixed withALTER AUTHORIZATION ON DATABASE::[pstDemo] TO [sa];
Afterwards I was able to enable CDC and the mirroring started working.
Hi bentz,
“Internal system error occurred. ArtifactId: …” is Fabric’s generic way of saying the mirror couldn’t bring a specific table into a healthy state. Your Eventstream rows (OperationName=FailTable, ErrorType=SystemError) confirm the failure happened at the table level for dbo.F_AccCostWOByPeriod. In practice, this almost always traces back to (a) a table/DB feature that mirroring doesn’t support, (b) missing prerequisites (CDC/change feed depending on SQL version), or (c) a tenant/gateway setting blocking the replicator. See Microsoft’s docs for supported scenarios, limits, and log fields you’re already looking at: Mirroring SQL Server, Limitations, MirroredDatabaseTableExecution schema, and Troubleshooting.
- Confirm SQL Server version path & prereqs
- SQL Server 2016–2022: mirroring requires CDC on the database and each mirrored table.
- SQL Server 2025: mirroring uses the change feed (no CDC); use the supplied DMVs/SPs below.
- Make sure the table is eligible
Common blockers (any one of these can produce your exact “Internal system error” with that ArtifactId):
– No primary key, or PK uses unsupported types (e.g., sql_variant, timestamp/rowversion, datetime2(7), datetimeoffset(7), time(7)).
– Columns with unsupported types (e.g., xml, geography, geometry, hierarchyid, sql_variant, CLR, json, vector), or computed columns.
– Clustered columnstore index, temporal/ledger history, Always Encrypted, in-memory tables, external tables.
Full list: Limitations. - Check tenant setting that the replicator depends on
If the Fabric tenant setting “Users can access data stored in OneLake with apps external to Fabric” is OFF, tables can fail to reach Replicating status. Ensure it’s ON (Fabric Admin portal > OneLake settings).
Ref: Troubleshoot (replicator status), setting described here: OneLake tenant settings. - Gateway and region basics
For on-prem SQL, Fabric uses the on-premises data gateway. Confirm the gateway is online, updated, and the connection used by the mirror is healthy. Mirroring is available in all Fabric regions, including West Europe.
Ref: Mirroring SQL Server (gateway + regions). - Reseed cleanly after fixing the cause
After you fix the issue (e.g., add PK, drop a computed column, enable CDC/change feed, toggle the tenant setting), reseed the table or restart mirroring. If your SQL instance still thinks mirroring/change feed is enabled after you delete/recreate the mirror, run:EXEC sp_change_feed_disable_db;
Then re-enable via Fabric.
Ref: Troubleshoot.
If you found this helpful, consider giving some Kudos. If I answered your question or solved your problem, mark this post as the solution.