Поделиться через


Устранение неполадок зеркальных баз данных Fabric в среде Управляемого экземпляра Azure SQL

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

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

Изменения емкости или рабочей области Fabric могут повлиять на зеркальное отображение. Дополнительные сведения см. о влиянии на зеркальное отображение из-за изменений в емкости Fabric.

Устранение неполадок управляемого экземпляра SQL Azure

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

Запросы T-SQL для устранения неполадок

Если возникают проблемы с зеркальным отображением, выполните следующие проверки на уровне базы данных с помощью динамических административных представлений (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 Azure. Убедитесь, что он был правильно включен.

    EXEC sp_help_change_feed;
    

    Ниже приведены table_namestateключевые столбцы. Любое значение, кроме того 4 , указывает на потенциальную проблему. (Таблицы не должны находиться слишком долго в состояниях, отличных от 4)

  4. Если репликация по-прежнему не работает, убедитесь, что правильный объект SAMI имеет разрешения (см. разрешения SAMI).

    1. На портале Fabric выберите "..." Параметр многоточия для зеркального элемента базы данных.
    2. Выберите параметр "Управление разрешениями ".
    3. Убедитесь, что имя управляемого экземпляра SQL Azure отображается с разрешениями на чтение, запись.
    4. Убедитесь, что Идентификатор приложения, который отображается, соответствует идентификатору SAMI управляемого экземпляра SQL Azure.
  5. Обратитесь в службу поддержки , если требуется устранение неполадок.

Манажируемая идентичность

Управляемое удостоверение, назначаемое системой (SAMI) Управляемого экземпляра SQL Azure, должно быть включено и должно быть основным удостоверением.

После включения, если состояние параметра SAMI отключено или изначально включено, затем отключено, а затем снова включено, зеркальное отображение Управляемого экземпляра SQL Azure в Fabric OneLake завершится ошибкой. После повторного включения SAMI не совпадает с удостоверением, что и перед отключением. Поэтому необходимо предоставить новые разрешения SAMI для доступа к рабочей области Fabric.

SAMI должен быть основным удостоверением. Убедитесь, что SAMI является основным удостоверением с помощью следующего SQL: SELECT * FROM sys.dm_server_managed_identities;

Назначаемое пользователем управляемое удостоверение (UAMI) не поддерживается. При добавлении UAMI он становится основным удостоверением, заменив SAMI в качестве основного. Это приводит к сбою репликации. Чтобы устранить проблему, сделайте следующее:

  • Удалите все UAMIs. Убедитесь, что SAMI включен.

Разрешения SAMI

Управляемое удостоверение, назначенное системой (SAMI) управляемого экземпляра SQL Azure, должно иметь разрешения на чтение и запись для зеркального элемента базы данных в Microsoft Fabric. При создании зеркальной базы данных на портале Fabric разрешение предоставляется автоматически. Если во время установки возникла ошибка Unable to grant required permission to the source server. User does not have permission to reshare , убедитесь, что у вас есть роль участника или администратора в рабочей области с достаточными привилегиями. При использовании API для создания зеркальной базы данных убедитесь, что вы предоставляете разрешение явным образом.

Не удаляйте разрешения на чтение и запись SAMI в зеркальном элементе базы данных Fabric. Если вы случайно удалите разрешения, зеркальное отображение Управляемого экземпляра SQL Azure не будет работать должным образом. Новые данные не могут быть зеркально отражены из исходной базы данных.

Если удалить разрешения или разрешения SAMI управляемого экземпляра SQL Azure не настроены правильно, выполните следующие действия.

  1. Добавьте SAMI в качестве пользователя, выбрав ... параметр многоточия в элементе зеркального управляемого экземпляра.
  2. Выберите параметр "Управление разрешениями ".
  3. Введите общедоступную конечную точку Управляемого экземпляра SQL Azure. Предоставьте разрешения на чтение и запись .

Использование журналов

Использование журнала транзакций для базы данных, включенной в режиме зеркального отображения, может продолжать расти и препятствовать усечению журнала. После того как размер журнала транзакций достигает максимального предела, запись в базу данных завершается неудачей. Для защиты от этого зеркалирование активирует автоматическое повторное засевание всей базы данных, когда используемое пространство журнала превышает пороговое значение общего настроенного пространства журнала. Чтобы диагностировать эту проблему и узнать об автоматическом повторном включении, см. статью "Автоматическое повторное включение для зеркальных баз данных Fabric из Управляемого экземпляра SQL Azure".

Переинициализация автоматически запущена

Зеркальное отображение структуры из Управляемого экземпляра SQL Azure может автоматически изменяться в определенных условиях на отдельном уровне таблицы или для всей базы данных. Дополнительные сведения см. в автоматическом повторном резервировании для зеркальных баз данных Fabric в Управляемом экземпляре Azure SQL.