Risoluzione dei problemi relativi al backup gestito di SQL Server in Azure
Questo argomento descrive le attività e gli strumenti che è possibile usare per risolvere gli errori che possono verificarsi durante le operazioni di backup gestito di SQL Server in Microsoft Azure.
Panoramica
SQL Server backup gestito in Microsoft Azure include controlli e risoluzione dei problemi predefiniti, quindi in molti casi gli errori interni vengono gestiti da SQL Server processo di backup gestito in Microsoft Azure stesso.
Un esempio di questo caso è l'eliminazione di un file di backup che causa un'interruzione della catena di log che influisce sulla recuperabilità. SQL Server backup gestito in Microsoft Azure identificherà l'interruzione nella catena di log e pianifica un backup da eseguire immediatamente. Tuttavia si consiglia di monitorare lo stato e di risolvere tutti gli errori per cui è richiesto l'intervento manuale.
SQL Server Backup gestito in Microsoft Azure registra eventi ed errori usando stored procedure di sistema, viste di sistema ed eventi estesi. Le viste di sistema e le stored procedure forniscono SQL Server backup gestito in informazioni di configurazione di Microsoft Azure, lo stato dei backup pianificati e gli errori acquisiti dagli eventi estesi. SQL Server Backup gestito in Microsoft Azure usa eventi estesi per acquisire gli errori da usare per la risoluzione dei problemi. Oltre alla registrazione di eventi, tramite i criteri di amministrazione intelligente di SQL Server viene specificato lo stato di integrità utilizzato da un processo di notifica tramite posta elettronica per fornire la notifica o errori e problemi. Per altre informazioni, vedere Monitorare SQL Server backup gestito in Azure.
SQL Server backup gestito in Microsoft Azure usa anche la stessa registrazione usata durante il backup manuale nell'archiviazione di Azure (SQL Server backup nell'URL). Per altre informazioni sui problemi relativi al backup nell'URL, vedere la sezione relativa alla risoluzione dei problemi in SQL Server Procedure consigliate per il backup nell'URL e risoluzione dei problemi
Procedura generale per la risoluzione dei problemi
Abilitare la notifica tramite posta elettronica per iniziare a ricevere messaggi di posta elettronica per errori e avvisi.
In alternativa, è anche possibile eseguire periodicamente
smart_admin.fn_get_health_status
per controllare gli errori e i conteggi aggregati. Ad esempio,number_of_invalid_credential_errors
rappresenta il numero di volte in cui il backup intelligente ha tentato di eseguire un backup ma è stato restituito un errore di credenziali non valide.Number_of_backup_loops
enumber_of_retention_loops
non sono errori; ma indicano il numero di volte in cui il thread di backup e il thread di memorizzazione hanno analizzato l'elenco di database. In genere, quando @begin_time e @end_time non vengono forniti, la funzione mostra le informazioni degli ultimi 30 minuti, quindi normalmente dovrebbero essere visualizzati valori diversi da zero per queste due colonne. Se vengono visualizzati valori pari a zero, significa che si è verificato un overload del sistema o che il sistema non risponde. Per altre informazioni, vedere la sezione Risoluzione dei problemi di sistema più avanti in questo argomento.Esaminare i registri eventi estesi per ulteriori dettagli sugli errori e altri eventi associati.
Utilizzare le informazioni nei registri per risolvere il problema. In caso di un problema o di un errore del sistema, potrebbe essere necessario riavviare il servizio o SQL Server Agent.
Cause comuni degli errori
Di seguito è riportato l'elenco delle cause comuni che provocano gli errori:
Modifiche alle credenziali SQL: Se il nome delle credenziali usate da SQL Server backup gestito in Microsoft Azure viene modificato o se viene eliminato, SQL Server backup gestito in Microsoft Azure non sarà in grado di eseguire i backup. La modifica deve essere applicata a SQL Server backup gestito alle impostazioni di configurazione di Microsoft Azure.
Modifiche ai valori delle chiavi di accesso alle risorse di archiviazione: Se i valori delle chiavi di archiviazione vengono modificati per l'account Azure, ma le credenziali SQL non vengono aggiornate con i nuovi valori, SQL Server Backup gestito in Microsoft Azure avrà esito negativo durante l'autenticazione nell'archiviazione e non riuscirà a eseguire il backup dei database configurati per l'uso dell'account.
Modifiche all'account di archiviazione di Azure: L'eliminazione o la ridenominazione dell'account di archiviazione senza modifiche corrispondenti alle credenziali SQL causerà l'esito negativo del backup gestito in Microsoft Azure SQL Server e non verranno eseguiti backup. Se si elimina un account di archiviazione, verificare che i database vengano riconfigurati con informazioni sull'account di archiviazione valide. Se un account di archiviazione viene rinominato o i valori delle chiavi vengono modificati, assicurarsi che queste modifiche vengano riflesse nelle credenziali SQL usate da SQL Server Backup gestito in Microsoft Azure.
Modifiche alle proprietà del database: Le modifiche apportate ai modelli di ripristino o la modifica del nome possono causare l'esito negativo dei backup.
Modifiche apportate al modello di recupero: Se il modello di recupero del database viene modificato in modo semplice da con registrazione completa o con registrazione minima delle operazioni bulk, i backup verranno arrestati e i database verranno ignorati da SQL Server Backup gestito in Microsoft Azure. Per altre informazioni, vedere SQL Server Backup gestito in Azure: Interoperabilità e coesistenza
Messaggi di errori più comuni e soluzioni
Errori durante l'abilitazione o la configurazione di SQL Server backup gestito in Microsoft Azure:
Errore: " Impossibile accedere all'URL di archiviazione. Specificare una credenziale SQL valida..." : è possibile che vengano visualizzati altri errori simili che fanno riferimento alle credenziali SQL. In questi casi, esaminare il nome delle credenziali SQL fornite e anche le informazioni archiviate nelle credenziali SQL, ovvero il nome dell'account di archiviazione e la chiave di accesso alle risorse di archiviazione e assicurarsi che siano correnti e valide.
Errore: "... impossibile configurare il database. perché si tratta di un database di sistema": questo errore verrà visualizzato se si tenta di abilitare SQL Server Backup gestito in Microsoft Azure per un database di sistema. SQL Server backup gestito in Microsoft Azure non supporta i backup per i database di sistema. Per configurare il backup di un database di sistema, utilizzare altre tecnologie di backup di SQL Server, ad esempio i piani di manutenzione.
Errore:" ... Specificare un periodo di conservazione...." : è possibile che vengano visualizzati errori relativi al periodo di conservazione se non è stato specificato un periodo di conservazione per il database o l'istanza quando si configurano questi valori per la prima volta. È inoltre possibile visualizzare un errore se si immette un valore diverso da un numero compreso tra 1 e 30. Il valore consentito per il periodo di memorizzazione è un numero compreso tra 1 e 30.
Errori di notifica tramite posta elettronica:
Errore: "Posta elettronica database non è abilitato..." - Questo errore verrà visualizzato se si abilitano le notifiche di posta elettronica, ma Posta elettronica database non è configurato nell'istanza. È necessario configurare Posta elettronica database nell'istanza per poter ricevere la notifica dello stato di integrità di SQL Server Backup gestito in Microsoft Azure. Per informazioni su come abilitare la posta elettronica database, vedere Configurare Posta elettronica database. È inoltre necessario abilitare SQL Server Agent per l'utilizzo di Posta elettronica database per le notifiche. Per altre informazioni, vedere Prima di iniziare.
Di seguito è riportato un elenco di numeri di errore che potrebbero essere visualizzati, associati alle notifiche tramite posta elettronica:
ErrorNumber: 45209
ErrorNumber: 45210
ErrorNumber: 45211
Errori di connettività:
Errori correlati alla connettività SQL: Questi errori si verificano quando si verificano problemi di connessione all'istanza di SQL Server. Negli eventi estesi questi tipi di errori vengono esposti tramite il canale di amministrazione. Di seguito sono riportati i due eventi estesi per cui è possibile visualizzare gli errori relativi a questo tipo di problemi di connettività:
FileRetentionAdminXEvent con event_type = SqlError. Per i dettagli su questo errore, esaminare error_code, error_message e stack_trace dell'evento in questione. Il error_code è il numero di errore di SqlException.
SmartBackupAdminXevent con i messaggi/prefissi di messaggio seguenti:
"Si è verificato un errore interno durante la configurazione di SQL Server backup gestito in impostazioni predefinite di Azure, ad esempio. L'errore potrebbe essere temporaneo".
"È possibile che si sono verificati problemi di connettività con SQL Server. Il database verrà ignorato nell'iterazione corrente".
"Query sulle informazioni del log non riuscita. L'errore potrebbe essere temporaneo. Il database verrà ignorato nell'iterazione corrente".
"Eccezione SQL rilevata durante il caricamento dei metadati dell'agente SSMBackup2WA. L'errore potrebbe essere temporaneo. Verrà eseguito un nuovo tentativo".
"SSMBackup2WA ha rilevato un'eccezione SQL mentre ... "
Errori di connessione all'account di archiviazione:
Le eccezioni di archiviazione vengono segnalate in FileRetentionAdminXEvent con event_type = XstoreError. Per i dettagli sull'errore, esaminare error_message e stack_trace dell'evento in questione.
Dal momento che da parte di Backup gestito di SQL Server viene utilizzata la tecnologia sottostante Backup nell'URL, gli errori relativi alla connettività di archiviazione vengono applicati a entrambe le funzionalità. Per altre informazioni sui passaggi per la risoluzione dei problemi, vedere la sezione risoluzione dei problemi dell'articolo Procedure consigliate per il backup in URL e risoluzione dei problemi di SQL Server backup in URL.
Risoluzione dei problemi relativi al sistema
Di seguito sono riportati alcuni scenari in cui si verifica un problema con il sistema (SQL Server, SQL Server Agent) e i relativi effetti su SQL Server backup gestito in Microsoft Azure:
Sqlservr.exe smette di rispondere o smette di funzionare quando SQL Server backup gestito in Microsoft Azure è in esecuzione: se SQL Server smette di funzionare, SQL Agent arresta normalmente, SQL Server backup gestito in Microsoft Azure si arresta e gli eventi vengono registrati nel file SQL Agent.out.
Se SQL Server non risponde, gli eventi vengono registrati nel canale di amministrazione. Un esempio del registro eventi:
Errore SQL (il motore non risponde o è stato restituito sqlException: SqlException:)
il codice di errore, il messaggio e la traccia dello stack verranno visualizzati in un canale di amministrazione xevent, insieme ad alcune informazioni aggiuntive, ad esempio:
"È possibile che si sono verificati problemi di connettività con SQL Server. Il database verrà ignorato nell'iterazione corrente".SQL Agent smette di rispondere o smette di funzionare quando SQL Server backup gestito in Microsoft Azure è in esecuzione:
Se SQL Agent smette di funzionare, anche SQL Server backup gestito in Microsoft Azure arresta e gli eventi vengono registrati nel canale di amministrazione. È simile agli scenari in cui SQL Server non risponde.
Se SQL Agent smette di rispondere, SQL Server backup gestito in Microsoft Azure non sarà in grado di continuare con le operazioni di backup e gli eventi vengono registrati nel canale di amministrazione. Un esempio del registro eventi:
Blocco del processo: vedere il canale di amministrazione xevents.
"Un aggiornamento dello stato di avanzamento non è stato ricevuto da SQL Server in più di " + Constants.DBBackupInfoMsgMaxWaitTime + " ore per il backup del database. Il backup cloud di SSM rimarrà in attesa".
Se è stata abilitata la notifica tramite posta elettronica, si riceverà una notifica che include il numero di cicli di backup e il numero di cicli di conservazione. Se il valore restituito nella notifica per una o entrambe queste due colonne è zero, potrebbe significare che il sistema non risponde.
Avviso
Nei processi interni che generano i risultati per il report si presuppone che i log di diagnostica del motore si trovino nello stesso percorso del log degli errori di SQL Agent che, per impostazione predefinita, si trova nella stessa cartella dei log degli errori dell'istanza di SQL Server. Se i log di diagnostica del motore vengono spostati in un percorso diverso da quello del log degli errori di SQL Agent, il sistema non sarà in grado di trovare i log di diagnostica di backup intelligenti e, di conseguenza, il report nella notifica tramite posta elettronica potrebbe non essere corretto. Ad esempio, è possibile visualizzare un valore pari a 0 in tutti i campi segnalati, inclusi il numero di cicli di backup e il numero di cicli di conservazione. Nel caso dove i log di diagnostica vengono spostati in un percorso diverso, non vuol dire che il sistema non risponde, bensì non è in grado di trovare i log. Assicurarsi innanzitutto che il percorso dei log di diagnostica e quello dei log degli errori di SQL Agent sia lo stesso. Per verificare la posizione corrente dei log di diagnostica, è possibile usare sys.dm_os_server_diagnostics_log_configurations. La path
colonna restituisce il percorso corrente dei log di diagnostica del motore. Deve trovarsi nella stessa cartella dei log degli errori di SQL Agent. È possibile che si ottenga il percorso dei log degli errori di SQL Agent utilizzando la stored procedure dbo.sp_get_sqlagent_properties
.
Controllare i registri eventi estesi per visualizzare i dettagli degli errori. Correggere gli errori o riavviare SQL Server Agent per risolvere la situazione.