Del via


Feilsøke strukturspeilede databaser fra Azure SQL Database

Denne artikkelen dekker feilsøkingstrinn, feilsøking for speiling av Azure SQL Database.

For feilsøking av automatisk konfigurert speiling for Fabric SQL-databasen, se Feilsøking av speiling fra Fabric SQL-database.

Endringer i stoffkapasitet eller arbeidsområde

Endringer i strukturkapasiteten eller arbeidsområdet kan påvirke speiling. Hvis du vil ha mer informasjon, kan du se effektene på speiling fra Endringer i strukturkapasitet.

Feilsøking av Azure SQL Database

Årsak Resultat Anbefalt oppløsning
Arbeidsområdet er slettet Speiling stopper automatisk og deaktiverer endringsfeeden i Azure SQL Database Hvis speiling fremdeles er aktiv på Azure SQL Database, utfører du følgende lagrede prosedyre på Azure SQL Database: exec sp_change_feed_disable_db;.
Vedvarende feil Speiling er deaktivert for den berørte databasen For å sikre at dine databehandlingsressurser ikke blir påvirket og for å beskytte din Azure SQL-kilde, vil speiling bli deaktivert ved vedvarende feil. Gå gjennom sys.dm_change_feed_errors og løs de underliggende feilene før du aktiverer databasen for speiling igjen.
Innstillingen «Brukere kan få tilgang til data som er lagret i OneLake med apper som er eksterne for Fabric» deaktivert "Replicator - Tabeller kan ikke nå replikeringsstatus" Aktiver tenantinnstillingen Brukere kan få tilgang til data som er lagret i OneLake med apper som er eksterne for Fabric.

Hvis du vil ha flere feilsøkingsscenarioer, kan du se Feilsøke strukturspeilede databaser – Microsoft Fabric.

T-SQL-spørringer for feilsøking

Hvis du har problemer med speiling, kan du utføre følgende kontroller på databasenivå ved hjelp av dynamiske administrasjonsvisninger (DMV-er) og lagrede prosedyrer for å validere konfigurasjonen.

  1. Utfør følgende spørring for å kontrollere om endringene flyter riktig:

    SELECT * FROM sys.dm_change_feed_log_scan_sessions;
    
  2. sys.dm_change_feed_log_scan_sessions Hvis DMV ikke viser noen fremdrift for behandling av trinnvise endringer, utfører du følgende T-SQL-spørring for å kontrollere om det er rapportert problemer:

    SELECT * FROM sys.dm_change_feed_errors;
    
  3. Hvis det ikke er rapportert noen problemer, kjører du følgende lagrede prosedyre for å se gjennom gjeldende konfigurasjon av den speilede Azure SQL Database. Bekreft at den er riktig aktivert.

    EXEC sp_help_change_feed;
    

    Nøkkelkolonnene du vil se etter her, er table_name og state. Alle verdier i tillegg 4 til angir et potensielt problem.

  4. Hvis replikasjonen fortsatt ikke fungerer, verifiser du at det riktige managed identity-objektet har tillatelser.

    1. I Fabric-portalen velger du «...» ellipse-alternativet på det speilede databaseelementet.
    2. Velg alternativet Administrer tillatelser .
    3. Bekreft at navnet på den administrerte identiteten vises med Read, Write-tillatelser.
    4. Sørg for at AppId som vises matcher ID-en til den administrerte identiteten til din Azure SQL Database logiske server.
  5. Kontakt kundestøtte hvis feilsøking kreves.

Administrert identitet

Enten System Assigned Managed Identity (SAMI) eller User Assigned Managed Identity (UAMI) for Azure SQL logiske server må være aktivert, og en av dem må være primær identitet.

Note

Støtte for User Assigned Managed Identity (UAMI) er for øyeblikket i forhåndsvisning.

Bekreft riktig primæridentitet ved å bruke følgende Transact-SQL spørring:

SELECT * FROM sys.dm_server_managed_identities;

Hvis du vil ha mer informasjon, kan du se Opprette en Azure SQL Database-server.

Tillatelser for administrerte identiteter

Både System Assigned Managed Identity (SAMI) og User Assigned Managed Identity (UAMI) for Azure SQL logiske server må ha lese- og skrivetillatelser på det speilede databaseelementet i Microsoft Fabric.

Når du oppretter den speilede databasen fra Fabric-portalen, gis tillatelsen automatisk. Hvis det oppstår feil Unable to grant required permission to the source server. User does not have permission to reshare under oppsettet, må du kontrollere at du har en medlems- eller administratorrolle i arbeidsområdet med tilstrekkelige rettigheter. Når du bruker API eller CI/CD for å lage den speilede databasen, sørg for å gi tillatelsen eksplisitt.

Ikke fjern SAMI- og/eller UAMI-lese - og skrivetillatelser på Fabric-speilede databaseelementer. Hvis du ved et uhell fjerner tillatelsene, fungerer ikke speiling av Azure SQL Database som forventet. Ingen nye data kan speiles fra kildedatabasen.

Hvis du fjerner Azure SQL Database SAMI- og/eller UAMI-tillatelser, eller tillatelser ikke er satt opp riktig, se stegene beskrevet i veiledningsdelen for å sette det opp.

Feil fra foreldede tillatelser med Microsoft Entra-pålogginger

Før du bruker Microsoft Entra ID-godkjenning, kan du se gjennom begrensningene i Microsoft Entra-serverkontohavere.

Databasebrukere som er opprettet ved hjelp av Microsoft Entra-pålogginger, kan oppleve forsinkelser når de får roller og tillatelser. Dette kan føre til en feil som følgende i Fabric-portalen:

"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: ..."

Under gjeldende forhåndsvisning bør følgende kommandoer brukes til å løse disse problemene.

  • Slipp brukeren fra brukerdatabasen.
  • Utfør DBCC FREESYSTEMCACHE('TokenAndPermUserStore') for å tømme sikkerhetsbuffere i databasen.
  • Utfør DBCC FLUSHAUTHCACHE for å tømme kontekstbufferen for forent godkjenning.
  • Opprett brukeren på nytt i brukerdatabasen basert på påloggingen.

Bruk av transaksjonslogg

Bruk av transaksjonslogg for en database som er aktivert for speiling, kan fortsette å vokse og stoppe loggavkorting. Når transaksjonsloggstørrelsen når den maksimale definerte grensen, mislykkes skriving til databasen. For å beskytte mot dette utløser speiling automatisk reseed av hele databasen når loggplassen som brukes, overskrider en terskel for totalt konfigurert loggplass. Hvis du vil diagnostisere dette og lære om automatisk reseeding, kan du se Automatisk reseeding for Fabric-speilede databaser fra Azure SQL Database.

Reseeding har startet automatisk

Strukturspeiling fra Azure SQL Database kan automatisk evalueres på nytt under visse forhold, på individuelt tabellnivå eller for hele databasen. Hvis du vil ha mer informasjon, kan du automatisk angi for Fabric-speilede databaser fra Azure SQL Database.