排查 SQL Server 中的 Fabric 镜像数据库问题

本文介绍在 SQL Server 实例中镜像数据库的故障排除步骤。

重要

此功能目前为预览版

对 Fabric 容量或工作区的更改

更改到构造容量了解详细信息。

此外,请特别注意 SQL Server 的以下原因:

原因 结果 建议的解决方法
工作区已删除 镜像会自动停止,并禁用 SQL Server 中的更改源 如果镜像在 SQL Server 上仍然处于活动状态,请在 SQL Server 上执行以下存储过程: exec sp_change_feed_disable_db;
任何其他资源错误 镜像已禁用 为了确保计算资源不受影响并最大程度地减少对 SQL Server 的影响,将对任何持久性资源错误禁用镜像。
“用户可以使用 Fabric 外部的应用访问 OneLake 中存储的数据”设置已禁用 “复制程序 - 表无法访问复制状态” 启用租户设置 用户可以使用 Fabric 外部的应用访问 OneLake 中存储的数据

SQL Server 2025 中故障排除的查询

如果在 SQL Server 2025 中遇到镜像问题,请使用动态管理视图(DMV)和存储过程执行以下数据库级别检查以验证配置。

  1. 执行以下查询,检查更改是否正确流动:

    SELECT * FROM sys.dm_change_feed_log_scan_sessions;
    
  2. sys.dm_change_feed_log_scan_sessions如果 DMV 在处理增量更改时未显示任何进度,请执行以下 T-SQL 查询来检查是否报告了任何问题:

    SELECT * FROM sys.dm_change_feed_errors;
    
  3. 如果没有报告任何问题,请执行以下存储过程来查看镜像 SQL Server 的当前配置。 确认它已正确启用。

    EXEC sp_help_change_feed;
    

    要在此处查找的键列是 table_namestate。 除指示潜在问题外 4 的任何值。

  4. 查看 Fabric 镜像数据库疑难解答

  5. 如果需要故障排除,请联系支持人员

扩展事件会话

以下扩展事件会话可用于对 SQL Server 2025 实例上的 Fabric 镜像进行故障排除。 建议仅创建此会话以进行故障排除或支持。

CREATE EVENT SESSION [sqlmirroringxesession] ON SERVER  
ADD EVENT sqlserver.synapse_link_addfilesnapshotendentry,  
ADD EVENT sqlserver.synapse_link_db_enable,  
ADD EVENT sqlserver.synapse_link_end_data_snapshot,  
ADD EVENT sqlserver.synapse_link_error,  
ADD EVENT sqlserver.synapse_link_info,  
ADD EVENT sqlserver.synapse_link_library,  
ADD EVENT sqlserver.synapse_link_perf,  
ADD EVENT sqlserver.synapse_link_scheduler,  
ADD EVENT sqlserver.synapse_link_start_data_snapshot,  
ADD EVENT sqlserver.synapse_link_totalsnapshotcount,  
ADD EVENT sqlserver.synapse_link_trace  
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=ON)  
GO
 
ALTER EVENT SESSION [sqlmirroringxesession] ON SERVER
STATE = start;
GO

SQL Server 2016-2022 中故障排除的查询

更改数据捕获(CDC)用于 SQL Server 2025 版本中的构造镜像。

  1. 查看 CDC 中的已知问题和错误 ,了解常见的错误解决方法。
  2. 查看 管理和监视 CDC 中的诊断查询。
  3. 查看 Fabric 镜像数据库疑难解答
  4. 如果需要故障排除,请联系支持人员

事务日志已满,因为复制日志重用等待

如果结构镜像源 SQL Server 数据库事务日志已满,因为 REPLICATION 日志重用等待,请考虑 启用自动执行的功能

对 SQL Server 中的源镜像数据库的性能影响

在 SQL Server 2025(预览版)中,可以创建资源调控器池来管理和限制 SQL Server 上 Fabric 镜像的工作负荷。 可以使用资源调控器来管理数据库引擎资源消耗,并强制实施用户工作负荷的策略。 资源调控器允许你保留或限制各种服务器资源,包括用户查询工作负载可以使用的 CPU、内存和物理 I/O 量。 这样,就可以保护主要业务工作负荷免受 Fabric Mirroring 更改源数据收集的压力。