Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra i passaggi per la risoluzione dei problemi relativi al mirroring del database SQL di Azure.
Per la risoluzione dei problemi relativi al mirroring configurato automaticamente per il database SQL dell'infrastruttura, vedere Risolvere i problemi relativi al mirroring dal database SQL dell'infrastruttura.
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 del database SQL di Azure
| Motivo | Result | Risoluzione consigliata |
|---|---|---|
| Eliminazione dell'area di lavoro | Il mirroring si arresta automaticamente e disabilita il feed di modifiche nel database SQL di Azure | Nel caso in cui il mirroring sia ancora attivo nel database SQL di Azure, eseguire la stored procedure seguente nel database 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 SQL di Azure di origine, il mirroring verrà disabilitato in caso di errori persistenti. 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. |
Per altri scenari di risoluzione dei problemi, vedere Risolvere i problemi relativi ai database con mirroring dell'infrastruttura - Microsoft 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.
Eseguire la query seguente per verificare se il flusso delle modifiche è corretto:
SELECT * FROM sys.dm_change_feed_log_scan_sessions;Se la DMV
sys.dm_change_feed_log_scan_sessionsnon 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;Se non sono stati segnalati problemi, eseguire la seguente procedura memorizzata per esaminare la configurazione corrente del database SQL Server di Azure in mirroring. Verificare che sia stata abilitata correttamente.
EXEC sp_help_change_feed;Le colonne chiave da cercare sono la
table_namee lastate. Qualsiasi valore oltre a4indica un potenziale problema.Se la replica non funziona ancora, verificare che l'oggetto identità gestita corretto disponga delle autorizzazioni.
- Nel portale Fabric, selezionare l'opzione con puntini di sospensione sull'elemento del database con mirroring.
- Selezionare l'opzione Gestisci autorizzazioni .
- Verificare che il nome dell'identità gestita sia visualizzato con le autorizzazioni Lettura, Scrittura.
- Assicurarsi che AppId visualizzato corrisponda all'ID dell'identità gestita del server logico del database SQL di Azure.
Contattare il supporto tecnico se è necessaria la risoluzione dei problemi.
Identità gestita
L'identità gestita assegnata dal sistema (SAMI) o l'identità gestita assegnata dall'utente del server logico SQL di Azure deve essere abilitata e una di esse deve essere l'identità primaria.
Annotazioni
Il supporto per l'identità gestita assegnata dall'utente è attualmente in anteprima.
Verificare l'identità primaria corretta usando la query di Transact-SQL seguente:
SELECT * FROM sys.dm_server_managed_identities;
Per altre informazioni, vedere Creare un server di database SQL di Azure.
Autorizzazioni per le identità gestite
Sia l'identità gestita assegnata dal sistema (SAMI) sia quella assegnata dall'utente (UAMI) per il server logico SQL di Azure devono disporre delle autorizzazioni di lettura e di scrittura sull'elemento del database replicato 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 usano API o CI/CD per creare il database con mirroring, assicurarsi di concedere l'autorizzazione in modo esplicito.
Non rimuovere le autorizzazioni SAMI e/o UAMI di lettura e di scrittura per gli elementi del database mirrorati di Fabric. Se si rimuovono accidentalmente le autorizzazioni, il mirroring del database SQL di Azure non funziona come previsto. Non è possibile eseguire il mirroring di nuovi dati dal database di origine.
Se si rimuovono le autorizzazioni SAMI e/o UAMI del database SQL di Azure, o se le autorizzazioni non sono configurate correttamente, fare riferimento ai passaggi descritti nella sezione del tutorial per configurarle.
Errori delle autorizzazioni obsolete con gli accessi di Microsoft Entra
Prima di usare l'autenticazione di Microsoft Entra ID, esaminare le limitazioni nelle Microsoft Entra server principals.
Gli utenti del database creati con gli account di accesso di Microsoft Entra possono riscontrare ritardi durante la concessione di ruoli e autorizzazioni. Questo potrebbe causare un errore simile al seguente nel portale di Fabric:
"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: ..."
Durante l'anteprima corrente, è necessario usare i comandi seguenti per risolvere questi problemi.
- Eliminare l'utente dal database utente.
- Eseguire
DBCC FREESYSTEMCACHE('TokenAndPermUserStore')per cancellare le cache di sicurezza nel database. - Eseguire
DBCC FLUSHAUTHCACHEper cancellare la cache del contesto di autenticazione federata. - Nel database utente ricreare l'utente in base al login.
Utilizzo del log delle transazioni
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 informarsi sulla reinizializzazione automatica, vedere Reseed automatico per i database con mirroring Fabric dal database SQL di Azure.
La reinizializzazione è stata avviata automaticamente
Il mirroring del fabric di Azure SQL Database può essere ripristinato automaticamente in determinate condizioni, a livello di tabella singola o per l'intero database. Per ulteriori informazioni, ripristino automatico per i database con mirroring Fabric del database SQL di Azure.