Condividi tramite


Risoluzione dei problemi degli Azure SQL Managed Instance Fabric mirrored databases

Questo articolo illustra i passaggi per la risoluzione dei problemi relativi al mirroring di Istanza gestita di SQL di Azure.

Modifiche alla capacità del Fabric o allo spazio di lavoro

Le modifiche apportate alla capacità del Fabric o all'area di lavoro possono influire sul mirroring. Per altre informazioni, vedere gli effetti sul mirroring di Modifiche alla capacità dell'infrastruttura.

Risoluzione dei problemi di Istanza gestita di SQL di Azure

Motivo Result Risoluzione consigliata
Eliminazione dell'area di lavoro Il mirroring si arresta automaticamente e disabilita il feed di modifiche in Istanza gestita di SQL di Azure Nel caso in cui il mirroring sia ancora attivo nell'istanza gestita di SQL di Azure, eseguire la stored procedure seguente per ogni database interessato nell'istanza gestita di SQL di Azure: exec sp_change_feed_disable_db;.
Errori persistenti Il mirroring è disabilitato per il database interessato Per assicurarsi che le risorse di calcolo non siano interessate e proteggere il database di origine in Istanza gestita di SQL di Azure, il mirroring verrà disabilitato in caso di errori permanenti. Esaminare sys.dm_change_feed_errors e risolvere gli errori sottostanti prima di riabilitare il database per il mirroring.
L'impostazione "Gli utenti possono accedere ai dati archiviati in OneLake con app esterne a Fabric" disabilitate Replicator - Le tabelle non possono raggiungere lo stato di replicazione Abilitare l'impostazione Tenant Gli utenti possono accedere ai dati archiviati in OneLake con app esterne a Fabric.

Query T-SQL per la risoluzione dei problemi

Se si verificano problemi di mirroring, eseguire i controlli a livello di database seguenti usando dmv (Dynamic Management Views) e stored procedure per convalidare la configurazione.

  1. Eseguire la query seguente per verificare se il flusso delle modifiche è corretto:

    SELECT * FROM sys.dm_change_feed_log_scan_sessions;
    
  2. Se la DMV sys.dm_change_feed_log_scan_sessions non mostra lo stato di avanzamento dell'elaborazione delle modifiche incrementali, eseguire la query T-SQL seguente per verificare se sono presenti problemi segnalati:

    SELECT * FROM sys.dm_change_feed_errors;
    
  3. Se non sono stati segnalati problemi, eseguire la stored procedure seguente per esaminare la configurazione corrente dell'istanza gestita di SQL di Azure con mirroring. Verificare che sia stata abilitata correttamente.

    EXEC sp_help_change_feed;
    

    Le colonne chiave da cercare sono la table_name e la state. Qualsiasi valore oltre a 4 indica un potenziale problema. (Le tabelle non devono rimanere troppo lunghe negli stati diversi da 4)

  4. Se la replica non funziona ancora, verificare che l'oggetto SAMI corretto disponga delle autorizzazioni (vedere Autorizzazioni SAMI).

    1. Nel portale infrastruttura selezionare "..." Opzione con puntini di sospensione nell'elemento del database con mirroring.
    2. Selezionare l'opzione Gestisci autorizzazioni .
    3. Verificare che il nome dell'istanza gestita di SQL di Azure sia visualizzato con autorizzazioni di lettura e scrittura.
    4. Assicurarsi che AppId visualizzato corrisponda all'ID dell'istanza gestita di SQL di Azure.
  5. Contattare il supporto tecnico se è necessaria la risoluzione dei problemi.

Identità gestita

L'identità gestita assegnata dal sistema dell'istanza gestita di SQL di Azure deve essere abilitata e deve essere l'identità primaria.

Dopo l'abilitazione, se lo stato dell'impostazione SAMI è disattivato o inizialmente abilitato, disabilitato e quindi abilitato di nuovo, il mirroring di Istanza gestita di SQL di Azure in Infrastruttura OneLake avrà esito negativo. SAMI dopo la riabilitazione non è la stessa identità di prima della disabilitazione. È quindi necessario concedere le nuove autorizzazioni SAMI per accedere all'area di lavoro Infrastruttura.

La SAMI deve essere l'identità primaria. Verificare che SAMI sia l'identità primaria con il codice SQL seguente: SELECT * FROM sys.dm_server_managed_identities;

L'identità gestita assegnata dall'utente non è supportata. Se si aggiunge un UAMI, diventa l'identità primaria, sostituendo SAMI come primaria. In questo modo la replica non riesce. Per risolvere:

  • Rimuovere tutte le interfacce utente. Verificare che SAMI sia abilitato.

Autorizzazioni SAMI

L'identità gestita assegnata dal sistema dell'istanza gestita di SQL di Azure deve disporre delle autorizzazioni lettura e scrittura per l'elemento del database con mirroring in Microsoft Fabric. Quando si crea il database con mirroring dal portale di Fabric, l'autorizzazione viene concessa automaticamente. Se si verifica un errore Unable to grant required permission to the source server. User does not have permission to reshare durante l'installazione, assicurarsi di disporre di un ruolo membro o amministratore nell'area di lavoro con privilegi sufficienti. Quando si usa l'API per creare il database con mirroring, assicurarsi di concedere l'autorizzazione in modo esplicito.

Non rimuovere le autorizzazioni di lettura e scrittura SAMI per l'elemento del database con mirroring di Fabric. Se si rimuovono accidentalmente le autorizzazioni, il mirroring di Istanza gestita di SQL di Azure non funzionerà come previsto. Non è possibile eseguire il mirroring di nuovi dati dal database di origine.

Se si rimuovono le autorizzazioni SAMI di Istanza gestita di SQL di Azure o le autorizzazioni non sono configurate correttamente, seguire questa procedura.

  1. Aggiungere SAMI come utente selezionando l'opzione ... con i puntini di sospensione nell'elemento dell'istanza gestita con mirroring.
  2. Selezionare l'opzione Gestisci autorizzazioni .
  3. Immettere l'endpoint pubblico di Istanza gestita di SQL di Azure. Fornire autorizzazioni di lettura e scrittura .

Utilizzo dei log

L'utilizzo del log delle transazioni per un database abilitato per il mirroring può continuare a crescere e impedire il troncamento del log. Quando le dimensioni del log delle transazioni raggiungono il limite massimo definito, le scritture nel database hanno esito negativo. Per evitare questo problema, il mirroring attiva il reinvio automatico dell'intero database quando lo spazio del log usato supera una soglia dello spazio totale configurato del log. Per diagnosticare questo problema e imparare a conoscere il reseed automatico, vedere Reseed automatico per i database con mirroring dell'infrastruttura da Istanza gestita di SQL di Azure.

La reinizializzazione è stata avviata automaticamente

Il Fabric Mirroring da Azure SQL Managed Instance può automaticamente reimpostare in determinate condizioni, a livello di singola tabella o per l'intero database. Per altre informazioni, resemina automatica per i database con mirroring Fabric da Azure SQL Managed Instance.