Dela via


Felsöka speglade databaser i Fabric på Azure SQL Managed Instance

Den här artikeln beskriver felsökningssteg som felsöker för spegling av Azure SQL Managed Instance.

Ändringar i Fabric-kapacitet eller arbetsytor

Lär dig mer från Ändringar i tygkapacitet.

Observera dessutom följande specifikt för Azure SQL Managed Instance:

Orsak Result Rekommenderad lösning
Arbetsytan har tagits bort Spegling stoppas automatiskt och inaktiverar ändringsflödet i Azure SQL Managed Instance Om speglingen fortfarande är aktiv på Azure SQL Managed Instance kör du följande lagrade procedur på din Azure SQL Managed Instance: exec sp_change_feed_disable_db;.

T-SQL-frågor för felsökning

Om du har speglingsproblem utför du följande kontroller på databasnivå med hjälp av dynamiska hanteringsvyer (DMV:er) och lagrade procedurer för att verifiera konfigurationen.

  1. Kör följande fråga för att kontrollera om ändringarna flödar korrekt:

    SELECT * FROM sys.dm_change_feed_log_scan_sessions;
    
  2. sys.dm_change_feed_log_scan_sessions Om DMV inte visar några framsteg vid bearbetning av inkrementella ändringar kör du följande T-SQL-fråga för att kontrollera om det finns några rapporterade problem:

    SELECT * FROM sys.dm_change_feed_errors;
    
  3. Om inga problem rapporteras kör du följande lagrade procedur för att granska den aktuella konfigurationen av den speglade Azure SQL Managed Instance. Bekräfta att den har aktiverats korrekt.

    EXEC sp_help_change_feed;
    

    De nyckelkolumner som ska sökas efter här är table_name och state. Alla värden förutom 4 indikerar ett potentiellt problem. (Tabeller bör inte sitta för länge i andra statusar än 4)

  4. Om replikeringen fortfarande inte fungerar kontrollerar du att rätt SAMI-objekt har behörigheter (se SAMI-behörigheter).

    1. I Infrastrukturportalen väljer du "..." ellipsalternativet för det speglade databasobjektet.
    2. Välj alternativet Hantera behörigheter .
    3. Bekräfta att namnet på Azure SQL Managed Instance visas med läs-, skrivbehörigheter.
    4. Se till att AppId som visas matchar ID:t för SAMI för din Azure SQL Managed Instance.
  5. Kontakta supporten om felsökning krävs.

Hanterad identitet

Den systemtilldelade hanterade identiteten (SAMI) för Azure SQL Managed Instance måste vara aktiverad och måste vara den primära identiteten.

Om statusen för SAMI-inställningen antingen är inaktiverad eller ursprungligen aktiverad efter aktiveringen inaktiveras och sedan aktiveras igen, misslyckas speglingen av Azure SQL Managed Instance till Fabric OneLake. SAMI efter återaktivering är inte samma identitet som innan du inaktiverar. Därför måste du bevilja de nya SAMI-behörigheterna för att få åtkomst till arbetsytan Infrastrukturresurser.

SAMI måste vara den primära identiteten. Kontrollera att SAMI är den primära identiteten med följande SQL: SELECT * FROM sys.dm_server_managed_identities;

Användartilldelad hanterad identitet (UAMI) stöds inte. Om du lägger till en UAMI blir den den primära identiteten och ersätter SAMI som primär. Detta gör att replikeringen misslyckas. Så här löser du följande:

  • Ta bort alla UAMIs. Kontrollera att SAMI är aktiverat.

SAMI-behörigheter

Systemtilldelad hanterad identitet (SAMI) för Azure SQL Managed Instance måste ha läs- och skrivbehörighet för det speglade databasobjektet i Microsoft Fabric. När du skapar den speglade databasen från Fabric-portalen beviljas behörigheten automatiskt. Om du får fel Unable to grant required permission to the source server. User does not have permission to reshare under installationen kontrollerar du att du har en medlems- eller administratörsroll på arbetsytan med tillräcklig behörighet. När du använder API :et för att skapa den speglade databasen måste du uttryckligen bevilja behörigheten.

Ta inte bort läs - ochskrivbehörigheterna för SAMI på infrastrukturresursens speglade databasobjekt. Om du av misstag tar bort behörigheterna fungerar inte spegling av Azure SQL Managed Instance som förväntat. Inga nya data kan speglas från källdatabasen.

Om du tar bort Azure SQL Managed Instance SAMI-behörigheter eller -behörigheter inte har konfigurerats korrekt använder du följande steg.

  1. Lägg till SAMI som användare genom att ... välja alternativet ellipser på det speglade hanterade instansobjektet.
  2. Välj alternativet Hantera behörigheter .
  3. Ange den offentliga slutpunkten för Azure SQL Managed Instance. Ange läs- och skrivbehörigheter .

Logganvändning

Användningen av transaktionsloggen för en databas aktiverad för databasåterspegling kan fortsätta att växa och förhindra loggtrunkering. När transaktionsloggens storlek når den maximala definierade gränsen misslyckas skrivningar till databasen. För att skydda mot detta utlöser speglingen en automatisk ominitiering av hela databasen när det använda loggutrymmet överskrider ett tröskelvärde för det totalt konfigurerade loggutrymmet. Information om hur du diagnostiserar detta och lär dig mer om automatisk omseedning, se Automatisk omseedning för Fabric-speglingsdatabaser från Azure SQL Managed Instance.

Omseedning har påbörjats automatiskt

Infrastrukturspegling från Azure SQL Managed Instance kan automatiskt återställas under vissa förhållanden, på enskild tabellnivå eller för hela databasen. Mer information finns i Automatisk återställning för infrastrukturspeglingsdatabaser från Azure SQL Managed Instance.