Felsök Fabric-speglade databaser från Azure SQL Database
I den här artikeln beskrivs felsökningssteg och lösningar för spegling av Azure SQL-databasen.
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 Fabric-kapacitet eller arbetsytor
Lär dig mer från Ändringar i tygkapacitet.
Observera dessutom följande specifikt för Azure SQL Database:
Orsak | Resultat | Rekommenderad lösning |
---|---|---|
Arbetsytan har tagits bort | Spegling stoppas automatiskt och inaktiverar ändringsflödet i Azure SQL Database | 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; . |
Några andra resursfel | Spegling är inaktiverat | För att säkerställa att dina beräkningsresurser inte påverkas och minimera påverkan på Azure SQL Database inaktiveras spegling på eventuella beständiga resursfel. |
Inställningen "Användare kan komma åt data som lagras i OneLake med appar utanför Fabric" inaktiverad | "Replikator – tabeller kan inte nå replikeringsstatus" | Aktivera inställningen Klientorganisation Användare kan komma åt data som lagras i OneLake med externa appar till Fabric. |
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.
Kör följande fråga för att kontrollera om ändringarna flödar korrekt:
SELECT * FROM sys.dm_change_feed_log_scan_sessions;
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;
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
ochstate
. Alla värden förutom4
indikerar ett potentiellt problem.Om replikeringen fortfarande inte fungerar kontrollerar du att rätt SAMI-objekt har behörigheter.
- I Fabric-portalen väljer du alternativet med de tre prickarna för det speglade databasobjektet.
- Välj alternativet Hantera behörigheter.
- Bekräfta att namnet på den logiska Azure SQL-servern visas med läs-, skrivbehörigheter.
- Kontrollera att AppId som visas matchar ID:t för SAMI för din logiska Azure SQL Database-server.
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 Azure SQL Database Service Principal Name (SPN) bidragsgivare på Fabric speglad databaskomponent.
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.
- Lägg till SPN som användare genom att välja ellipsalternativet
...
för det speglade databasobjektet. - Välj alternativet Hantera behörigheter.
- Ange namnet på den logiska servern för Azure SQL Database. Ange läs- och skrivbehörigheter .