Sdílet prostřednictvím


Odstraňování problémů se zrcadlenými databázemi Fabric v rámci Azure SQL Database

Tento článek popisuje kroky řešení problémů při zrcadlení v Azure SQL Database.

Informace o řešení potíží s automaticky nakonfigurovaným zrcadlením pro databázi SQL fabric najdete v tématu Řešení potíží se zrcadlením z databáze FABRIC SQL.

Změny kapacity nebo pracovního prostoru Fabric

Změny kapacity Fabric nebo pracovního prostoru můžou ovlivnit zrcadlení. Další informace najdete v efektech zrcadlení z změn kapacity Fabricu.

Řešení potíží se službou Azure SQL Database

Příčina Result Doporučené řešení
Odstraněný pracovní prostor Zrcadlení se zastaví automaticky a zakáže kanál změn ve službě Azure SQL Database. V případě, že je zrcadlení stále aktivní ve službě Azure SQL Database, spusťte ve službě Azure SQL Database následující uloženou proceduru: exec sp_change_feed_disable_db;
Trvalé chyby Zrcadlení je pro ovlivněnou databázi zakázané. Aby se zajistilo, že vaše výpočetní prostředky nebudou ovlivněné a chrání zdrojovou službu Azure SQL Database, zrcadlení se zakáže u trvalých chyb. Před opětovným povolením zrcadlení databáze zkontrolujte sys.dm_change_feed_errors a vyřešte související chyby.
Nastavení pro možnost "Uživatelé můžou přistupovat k datům uloženým ve OneLake pomocí aplikací, které nejsou součástí Fabric," je zakázáno. Replikátor – Tabulky nemůžou dosáhnout replikujícího stavu Povolte nastavení nájemce uživatelé mohou přistupovat k datům uloženým ve OneLake pomocí aplikací mimo Fabric.

Další scénáře řešení potíží najdete v tématu Řešení potíží se zrcadlenými databázemi Fabric – Microsoft Fabric.

Dotazy T-SQL pro řešení potíží

Pokud dochází k problémům se zrcadlením, proveďte následující kontroly na úrovni databáze pomocí zobrazení dynamické správy (DMV) a uložených procedur k ověření konfigurace.

  1. Spuštěním následujícího dotazu zkontrolujte, jestli změny správně postupují:

    SELECT * FROM sys.dm_change_feed_log_scan_sessions;
    
  2. sys.dm_change_feed_log_scan_sessions Pokud zobrazení dynamické správy nezobrazuje žádný průběh zpracování přírůstkových změn, spusťte následující dotaz T-SQL a zkontrolujte, jestli nedošlo k problémům:

    SELECT * FROM sys.dm_change_feed_errors;
    
  3. Pokud se nenahlásí žádné problémy, spusťte následující uloženou proceduru a zkontrolujte aktuální konfiguraci zrcadlené služby Azure SQL Database. Ověřte, že je správně povolený.

    EXEC sp_help_change_feed;
    

    Klíčové sloupce, které je třeba hledat, jsou table_name a state. Jakákoli hodnota kromě 4 značí potenciální problém.

  4. Pokud replikace stále nefunguje, ověřte, že má správný objekt spravované identity oprávnění.

    1. Na portálu Fabric vyberte ikonu se třemi tečkami u zrcadlené položky databáze.
    2. Vyberte možnost Spravovat oprávnění .
    3. Ověřte, že se název spravované identity zobrazuje s oprávněními ke čtení a zápisu.
    4. Ujistěte se, že ID aplikace, které se zobrazuje, odpovídá ID spravované identity logického serveru Azure SQL Database.
  5. Pokud se vyžaduje řešení potíží, obraťte se na podporu .

Spravovaná identita

Musí být povolená spravovaná identita přiřazená systémem (SAMI) nebo spravovaná identita přiřazená uživatelem (UAMI) logického serveru Azure SQL a jednou z nich musí být primární identita.

Poznámka:

Podpora spravované identity přiřazené uživatelem (UAMI) je aktuálně ve verzi Preview.

Pomocí následujícího dotazu Transact-SQL ověřte správnou primární identitu:

SELECT * FROM sys.dm_server_managed_identities;

Další informace najdete v tématu Vytvoření serveru Azure SQL Database.

Oprávnění pro spravované identity

Spravovaná identita přiřazená systémem (SAMI) i spravovaná identita přiřazená uživatelem (UAMI) pro logický server Azure SQL musí mít oprávnění ke čtení a zápisu u položky zrcadlené databáze v Microsoft Fabric.

Když vytvoříte zrcadlenou databázi z portálu Fabric, udělí se oprávnění automaticky. Pokud během instalace dojde k chybě Unable to grant required permission to the source server. User does not have permission to reshare , ujistěte se, že máte v pracovním prostoru roli člena nebo správce s dostatečným oprávněním. Pokud k vytvoření zrcadlené databáze používáte rozhraní API nebo CI/CD , ujistěte se, že oprávnění udělíte explicitně.

Neponechávejte oprávnění SAMI a/nebo UAMI ke čtení a zápisu u položek databáze zrcadlených v systému Fabric. Pokud oprávnění omylem odeberete, zrcadlení služby Azure SQL Database nefunguje tak, jak by mělo. Ze zdrojové databáze nelze zrcadlit žádná nová data.

Pokud odeberete oprávnění SAMI služby Azure SQL Database nebo UAMI nebo oprávnění nejsou správně nastavená, projděte si kroky popsané v části kurzu a nastavte je.

Chyby z zastaralých oprávnění u přihlášení Microsoft Entra

Před použitím ověřování Microsoft Entra ID zkontrolujte omezení v instančních objektech serveru Microsoft Entra.

Uživatelé databáze vytvořené pomocí přihlášení Microsoft Entra můžou mít zpoždění při udělování rolí a oprávnění. Výsledkem může být chyba, například následující na portálu Fabric:

"The database cannot be mirrored to Fabric due to below error: Unable to retrieve SQL Server managed identities. A database operation failed with the following error: 'VIEW SERVER SECURITY STATE permission was denied on object 'server', database 'master'. The user does not have permission to perform this action.' VIEW SERVER SECURITY STATE permission was denied on object 'server', database 'master'. The user does not have permission to perform this action. SqlErrorNumber=300,Class=14,State=1, Activity ID: ..."

Během aktuální verze Preview by se k řešení těchto problémů měly použít následující příkazy.

  • Odstraňte uživatele z uživatelské databáze.
  • Proveďte DBCC FREESYSTEMCACHE('TokenAndPermUserStore') k vymazání mezipamětí zabezpečení v databázi.
  • Proveďte DBCC FLUSHAUTHCACHE, abyste vymazali mezipaměť kontextu federovaného ověřování.
  • V uživatelské databázi znovu vytvořte uživatele na základě přihlášení.

Využití transakčního protokolu

Využití transakčního protokolu pro databázi s povoleným zrcadlením může nadále růst a zamezit zkracování protokolu. Jakmile velikost transakčního protokolu dosáhne maximálního definovaného limitu, zápisy do databáze selžou. Aby se tomu zabránilo, funkce zrcadlení spustí automatické obnovení celé databáze, když využité místo v protokolu překročí prahovou hodnotu z celkového nakonfigurovaného prostoru protokolu. Pokud chcete toto diagnostikovat a dozvědět se o automatickém znovunasazení, přečtěte si téma Automatické znovunasazení zrcadlených databází ve Fabric službě od Azure SQL Database.

Opětovné obnovení se automaticky spustilo.

Zrcadlení Fabric ze služby Azure SQL Database může automaticky obnovit data za určitých podmínek, a to buď na úrovni jednotlivých tabulek, nebo pro celou databázi. Další informace najdete o automatickém obnovování pro zrcadlené databáze ve Fabric z Azure SQL Database.