Устранение неполадок зеркальных баз данных Fabric в SQL Server

В этой статье рассматриваются действия по устранению неполадок для зеркального отображения базы данных в экземпляре SQL Server.

Изменения в емкости Fabric или рабочем пространстве

Узнайте больше об изменениях в емкости Fabric.

Кроме того, обратите внимание на следующие причины, связанные с SQL Server.

Причина Result Рекомендуемое разрешение
Удаленная рабочая область Зеркалирование останавливается автоматически и отключает канал изменений данных в SQL Server Если зеркальное отображение по-прежнему активно в SQL Server, выполните следующую хранимую процедуру на сервере SQL: exec sp_change_feed_disable_db;
Любые другие ошибки ресурсов Зеркальное отображение отключено Чтобы не влиять на вычислительные ресурсы, и свести к минимуму влияние на SQL Server, зеркальное отображение отключается при возникновении любых постоянных ошибок ресурсов.
Параметр "Пользователи могут получить доступ к данным, хранящимся в OneLake, используя приложения, внешние для Fabric," отключен. "Репликатор — таблицы не могут достичь состояния репликации" Включите параметр клиента «Пользователи могут получать доступ к данным, хранящимся в OneLake, с помощью приложений, не связанных с Fabric».

Устранение неполадок: запросы и стандартные решения

Действия по устранению неполадок и диагностические запросы могут отличаться в SQL Server 2025 и версиях до SQL Server 2025.

Устранение неполадок зеркального отображения структуры в SQL Server 2025

Запросы на устранение неполадок в 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 не показывает прогресса в обработке инкрементных изменений, выполните следующий запрос T-SQL, чтобы проверить, есть ли сообщения о проблемах:

    SELECT * FROM sys.dm_change_feed_errors;
    
  3. Если нет никаких проблем, выполните следующую хранимую процедуру, чтобы просмотреть текущую конфигурацию зеркального SQL Server. Убедитесь, что он был правильно включен.

    EXEC sp_help_change_feed;
    

    Здесь основные столбцы, которые нужно искать, — это table_name и state. Любое значение, кроме того 4 , указывает на потенциальную проблему.

  4. Просмотрите руководство по устранению неполадок отражённых баз данных Fabric.

  5. Обратитесь в службу поддержки , если требуется устранение неполадок.

Сеанс расширенных событий

Следующий сеанс расширенных событий можно использовать для диагностики проблем с Fabric Mirroring в вашем экземпляре SQL Server 2025. Рекомендуется только создать этот сеанс для устранения неполадок или поддержки.

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 для зеркального отображения структуры заполнен из-за REPLICATION ожидания повторного использования журнала, рассмотрите возможность включения функции автоматического использования.

Влияние производительности на исходную зеркальную базу данных в SQL Server

В SQL Server 2025 можно создать пул регулятора ресурсов для управления и ограничения рабочей нагрузки зеркального отображения Fabric на SQL Server. Регулятор ресурсов можно использовать для управления потреблением ресурсов ядра СУБД и применением политик для рабочих нагрузок пользователей. Регулятор ресурсов позволяет зарезервировать или ограничить различные ресурсы сервера, включая объем ЦП, памяти и физических операций ввода-вывода, которые могут использовать рабочие нагрузки запросов пользователей. Таким образом, вы можете защитить основные бизнес-рабочие нагрузки от давления, возникающего из-за сбора данных канала изменений Зеркалирования Fabric.

Не удается предоставить требуемое разрешение исходному серверу

При создании новой зеркальной базы данных SQL Server создание может завершиться сбоем с сообщением об ошибке.

Unable to grant required permission to the source server. PowerBI user with prefix undefined not found.

Скриншот ошибки: пользователь PowerBI с неопределённым префиксом не найден.

Чтобы устранить эту проблему:

  1. На портале Fabric отмените диалоговое окно и удалите зеркальный элемент базы данных в рабочей области.

  2. Откройте портал Azure.

    1. Перейдите на серверы Azure Arc (классическая модель) и SQL Server. Затем выберите экземпляр SQL Server с поддержкой Arc и перейдите на вкладку "Идентификатор Microsoft Entra".
    2. Снимите флажок "Использовать основное управляемое удостоверение " и нажмите кнопку "Сохранить".
  3. Выполняйте следующий запрос в экземпляре SQL Server неоднократно, пока он не вернет ни одной строки.

    SELECT * FROM sys.dm_server_managed_identities
    
  4. Вернитесь на портал Azure. Перейдите к экземпляру SQL Server с поддержкой Arc и выберите вкладку Microsoft Entra ID.

  5. Проверьте использование основного управляемого удостоверения и нажмите кнопку "Сохранить".

    Снимок экрана параметра

  6. Выполните следующий запрос (так же, как и раньше), пока не вернется ровно одна строка.

    SELECT * FROM sys.dm_server_managed_identities
    
  7. На портале Fabric настройте зеркальное отображение SQL Server в Fabric, которое теперь должно завершиться без ошибки.