Dela via


Felsöka infrastrukturspeglingsdatabaser från Azure SQL Database

I den här artikeln beskrivs felsökningssteg för spegling av Azure SQL Database.

Information om hur du felsöker den automatiskt konfigurerade speglingen för Fabric SQL-databasen finns i Felsöka spegling från Fabric SQL-databasen (förhandsversion).

Ändringar i infrastrukturresurser eller arbetsytor

Orsak Result Rekommenderad lösning
Infrastrukturkapaciteten har pausats/tagits bort Speglingen stoppas 1. Återuppta eller tilldela kapacitet från Azure Portal
2. Gå till Infrastrukturspeglingsdatabasobjekt. I verktygsfältet väljer du Stoppa replikering.
3. Starta replikeringen genom att välja Speglingsdatabas för det speglade objektet i Infrastrukturportalen.
Infrastrukturkapaciteten återupptas Speglingen återupptas inte 1. Gå till Infrastrukturspeglingsdatabasobjekt. I verktygsfältet väljer du Stoppa replikering.
2. Starta replikeringen genom att välja Speglingsdatabas för det speglade objektet i Infrastrukturportalen.
Arbetsytan har tagits bort Spegling stoppas automatiskt Om spegling fortfarande är aktiv i Azure SQL Database kör du följande lagrade procedur i Azure SQL Database: exec sp_change_feed_disable_db;.
Utvärderingskapaciteten för infrastrukturresurser har upphört att gälla Spegling stoppas automatiskt Mer information finns i Avsnittet om att utvärderingskapaciteten för infrastrukturresurser upphör att gälla.
Infrastrukturkapaciteten överskreds Speglingen pausas Vänta tills överlagringstillståndet är över eller uppdatera kapaciteten. Läs mer från Åtgärder som du kan vidta för att återställa från överlagringssituationer. Speglingen fortsätter när kapaciteten har återställts.

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 Database. 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.

  4. Om replikeringen fortfarande inte fungerar kontrollerar du att rätt SAMI-objekt har 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å den logiska Azure SQL-servern visas med läs-, skrivbehörigheter.
    4. Kontrollera att AppId som visas matchar ID:t för SAMI för din logiska Azure SQL Database-server.
  5. Kontakta supporten om felsökning krävs.

Hanterad identitet

Den systemtilldelade hanterade identiteten (SAMI) för den logiska Azure SQL-servern måste vara aktiverad och måste vara den primära identiteten. Mer information finns i Skapa en Azure SQL Database-server med en användartilldelad hanterad identitet.

Om statusen för SAMI-inställningen antingen är inaktiverad eller aktiverad från början, inaktiveras och sedan aktiveras igen, misslyckas speglingen av Azure SQL Database till Fabric OneLake efter aktiveringen.

SAMI måste vara den primära identiteten. Kontrollera att SAMI är den primära identiteten med följande: 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. För att lösa detta:

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

SPN-behörigheter

Ta inte bort behörigheterna för SPN-deltagare (Azure SQL Database Service Principal Name) för infrastrukturresursspeglingsdatabasobjekt.

Om du av misstag tar bort SPN-behörigheten fungerar inte Spegling av Azure SQL Database som förväntat. Inga nya data kan speglas från källdatabasen.

Om du tar bort AZURE SQL Database SPN-behörigheter eller -behörigheter inte har konfigurerats korrekt använder du följande steg.

  1. Lägg till SPN som användare genom att välja ellipsalternativet ... för det speglade databasobjektet.
  2. Välj alternativet Hantera behörigheter.
  3. Ange namnet på den logiska Azure SQL Database-servernamnet. Ange läs- och skrivbehörigheter .