Zdieľať cez


Riešenie problémov so zrkadlenými databázami Fabric zo služby Azure SQL Managed Instance

Tento článok sa zaoberá krokmi na riešenie problémov so zrkadlením Azure SQL Managed Instance.

Zmeny kapacity alebo pracovného priestoru služby Fabric

Zmeny kapacity štruktúry alebo pracovného priestoru môžu ovplyvniť zrkadlenie. Ďalšie informácie nájdete v téme Vplyv na zrkadlenie zo zmien kapacity štruktúry.

Azure SQL Managed Instance troubleshooting

Príčina Výsledok Odporúčané riešenie
Odstránený pracovný priestor Zrkadlenie sa automaticky zastaví a zakáže informačný kanál zmien v Azure SQL Managed Instance Ak je zrkadlenie stále aktívne na Azure SQL Managed Instance, spustite nasledujúcu uloženú procedúru pre každú dotknutú databázu vo vašom Azure SQL Managed Instance: exec sp_change_feed_disable_db;.
Pretrvávajúce chyby Zrkadlenie je pre dotknutú databázu zakázané Aby ste zabezpečili, že vaše výpočtové zdroje nebudú ovplyvnené a aby sa ochránila vaša zdrojová databáza v Azure SQL Managed Instance, zrkadlenie bude pri pretrvávajúcich chybách vypnuté. Skontrolujte sys.dm_change_feed_errors a odstráňte základné chyby predtým, než znovu povolíte databázu na zrkadlenie.
Používatelia môžu získať prístup k údajom uloženým v službe OneLake s nastavením externým pre fabric "Replicator - tabuľky nemôžu dosiahnuť stav replikovania" Povoľte nastavenie Nájomník Používatelia môžu získať prístup k údajom uloženým vo OneLake s aplikáciami externými pre fabric.

Dotazy T-SQL na riešenie problémov

Ak máte problémy so zrkadlením, vykonajte nasledujúce kontroly na úrovni databázy pomocou dynamických zobrazení správy (DMV) a uložených procedúr na overenie konfigurácie.

  1. Pomocou nasledujúceho dotazu skontrolujte, či zmeny postupuje správne:

    SELECT * FROM sys.dm_change_feed_log_scan_sessions;
    
  2. Ak dmv sys.dm_change_feed_log_scan_sessions nezobrazuje žiadny pokrok pri spracovaní prírastkových zmien, spustite nasledujúci dotaz T-SQL a skontrolujte, či neboli hlásené nejaké problémy:

    SELECT * FROM sys.dm_change_feed_errors;
    
  3. Ak nie sú nahlásené žiadne problémy, vykonajte nasledujúci uložený postup a skontrolujte aktuálnu konfiguráciu zrkadlenej spravovanej inštancie Azure SQL. Potvrďte, že je správne zapnutá.

    EXEC sp_help_change_feed;
    

    Kľúčové stĺpce, ktoré treba vyhľadať, sú table_name a state. Každá hodnota okrem toho 4 označuje potenciálny problém. (Tabuľky by nemali sedieť príliš dlho v iných stavoch ako 4)

  4. Ak replikácia stále nefunguje, overte, či má správny objekt SAMI povolenia (pozrite si tému Povolenia SAMI).

    1. Na portáli Fabric vyberte "..." tri bodky na zrkadlenej položke databázy.
    2. Vyberte možnosť Spravovať povolenia .
    3. Skontrolujte, či sa názov spravovanej inštancie Azure SQL zobrazuje s povoleniami na čítanie a zápis.
    4. Uistite sa, že AppId, ktorý sa zobrazí, sa zhoduje s ID SAMI spravovanej inštancie Azure SQL.
  5. Ak sa vyžaduje riešenie problémov, obráťte sa na oddelenie technickej podpory .

Spravovaná identita

Spravovaná identita priradená systémom (SAMI) spravovanej inštancie Azure SQL musí byť povolená a musí byť primárnou identitou.

Ak je stav nastavenia SAMI po povolení vypnutý alebo pôvodne povolený, potom zakázaný a potom znova povolený, zrkadlenie spravovanej inštancie Azure SQL do zariadenia Fabric OneLake zlyhá. SAMI po opätovnom povolení nie je rovnaká identita ako pred vypnutím. Preto musíte udeliť nové povolenia SAMI na prístup k pracovnému priestoru Fabric.

SAMI musí byť primárnou identitou. Overte, či je identifikátor SAMI primárnou identitou pomocou nasledujúceho jazyka SQL: SELECT * FROM sys.dm_server_managed_identities;

Spravovaná identita priradená používateľom (UAMI) nie je podporovaná. Ak pridáte UAMI, stane sa primárnou identitou a nahradí SAMI ako primárnu. To spôsobí zlyhanie replikácie. Riešenie:

  • Odstráňte všetky UAMI. Skontrolujte, či je povolené SAMI.

Povolenia SAMI

Spravovaná identita priradená systémom (SAMI) spravovanej inštancie Azure SQL musí mať povolenia na čítanie a zápis na položku zrkadlenej databázy v službe Microsoft Fabric. Keď vytvoríte zrkadlenú databázu z portálu Fabric, povolenie sa udelí automaticky. Ak sa počas inštalácie vyskytne chyba Unable to grant required permission to the source server. User does not have permission to reshare , uistite sa, že máte v pracovnom priestore rolu člena alebo správcu s dostatočnými oprávneniami. Keď použijete API na vytvorenie zrkadlenej databázy, uistite sa, že ste povolenie udelili explicitne.

Neodstraňujte povolenia na čítanie a zápis SAMI v položke zrkadlenej databázy Fabric. Ak omylom odstránite povolenia, zrkadlenie spravovanej inštancie Azure SQL nebude fungovať podľa očakávania. Zo zdrojovej databázy nie je možné zrkadliť žiadne nové údaje.

Ak odstránite povolenia SAMI spravovanej inštancie Azure SQL alebo povolenia nie sú správne nastavené, postupujte podľa nasledujúcich krokov.

  1. Pridajte SAMI ako používateľa výberom ... možnosti troch bodiek na položke zrkadlenej spravovanej inštancie.
  2. Vyberte možnosť Spravovať povolenia .
  3. Zadajte verejný koncový bod spravovanej inštancie Azure SQL. Poskytnite povolenia na čítanie a zápis.

Používanie protokolu

Využitie denníka transakcií pre databázu povolenú na zrkadlenie môže naďalej rásť a zdržiavať skrátenie protokolu. Keď veľkosť transakčného denníka dosiahne maximálny definovaný limit, zápisy do databázy zlyhajú. Na ochranu pred tým zrkadlenie spustí automatické opätovné nasadenie celej databázy, keď použitý priestor denníka prekročí prahovú hodnotu celkového nakonfigurovaného priestoru denníka. Ak chcete diagnostikovať tento problém a získať informácie o automatickom opätovnom nasadení, pozrite si tému Automatické opätovné nasadenie zrkadlených databáz Fabric z Azure SQL Managed Instance.

Opätovný výsev sa automaticky začal

Zrkadlenie štruktúry z Azure SQL Managed Instance môže za určitých podmienok automaticky opätovne nasadiť na úrovni jednotlivých tabuliek alebo pre celú databázu. Ďalšie informácie nájdete v téme Automatické opätovné nasadenie zrkadlených databáz Fabric zo služby Azure SQL Managed Instance.