Backup gestito di SQL Server in Microsoft Azure

Si applica a: SQL Server - solo Windows

Backup gestito di SQL Server in Microsoft Azure gestisce e automatizza i backup di SQL Server nel servizio di archiviazione BLOB di Microsoft Azure. È possibile consentire a SQL Server di stabilire la pianificazione del backup in base al carico di lavoro della transazione nel database o usare le opzioni avanzate per definire una pianificazione. Le impostazioni di conservazione specificano per quanto tempo i backup vengono conservati nel servizio di archiviazione BLOB di Azure. Il backup gestito di SQL Server in Microsoft Azure supporta il ripristino temporizzato per il periodo di conservazione specificato.

Nota

Le procedure e il comportamento sottostante al backup gestito di SQL Server in Microsoft Azure sono cambiati in SQL Server 2016 (13.x). Per altre informazioni, vedi Impostazioni di backup della gestione migrazione.

Il backup gestito di SQL Server in Microsoft Azure è consigliato per le istanze di SQL Server in esecuzione in macchine virtuali di Microsoft Azure.

Vantaggi

Per l'automatizzazione di backup per più database sono attualmente richiesti lo sviluppo di una strategia di backup, la scrittura di codice personalizzato e la pianificazione di backup. Con il backup gestito di SQL Server in Microsoft Azure è possibile creare un piano di backup specificando solo il percorso di memorizzazione e la posizione di archiviazione. Anche se disponibili, le impostazioni avanzate non sono necessarie. Il backup gestito di SQL Server in Microsoft Azure pianifica, esegue e gestisce i backup.

Il backup gestito di SQL Server in Microsoft Azure può essere configurato a livello di database o a livello di istanza di SQL Server. Se configurato a livello di istanza, il backup dei nuovi database viene eseguito automaticamente. È possibile usare le impostazioni a livello di database per eseguire l'override delle impostazioni predefinite a livello di istanza per singoli casi.

La crittografia dei backup assicura maggiore sicurezza ed è possibile impostare una pianificazione personalizzata per controllare quando verranno eseguiti i backup. Per altre informazioni sui vantaggi derivanti dall'uso dell'archivio BLOB di Microsoft Azure per i backup di SQL Server, vedere Backup e ripristino di SQL Server con Archiviazione BLOB di Azure

Prerequisiti

Archiviazione di Microsoft Azure viene usato dal backup gestito di SQL Server in Microsoft Azure per archiviare i file di backup. Sono richiesti i prerequisiti seguenti:

Prerequisito Descrizione
Account Microsoft Azure È possibile iniziare a usare Azure con una versione di valutazione gratuita prima di esaminare le opzioni per l'acquisto.
account di archiviazione di Azure I backup vengono archiviati in Archiviazione BLOB di Azure, associato a un account di archiviazione Azure. Per istruzioni dettagliate per creare un account di archiviazione, vedere Creare un account di archiviazione.
Contenitore BLOB I BLOB sono organizzati in contenitori. L'utente specifica il contenitore di destinazione per i file di backup. È possibile creare un contenitore nel portale di gestione di Azureoppure con il comando di Azure PowerShell New-AzureStorageContainer.
Firma di accesso condiviso (SAS) L'accesso al contenitore di destinazione è controllato da una firma di accesso condiviso (SAS, Shared Access Signature). Per una panoramica di SAS, vedere Concedere accesso limitato alle risorse di Archiviazione di Azure tramite firme di accesso condiviso. È possibile creare un token della firma di accesso condiviso nel codice o con il comando di PowerShell New-AzureStorageContainerSASToken. Per un esempio di script di PowerShell che semplifica questo processo, vedere Simplifying creation of SQL Credentials with Shared Access Signature ( SAS ) tokens on Azure Storage with Powershell(Semplificazione della creazione di credenziali SQL con i token della firma di accesso condiviso in Archiviazione di Azure con Powershell). Il token di firma di accesso condiviso può essere archiviato nelle credenziali SQL ed essere utilizzato con il backup gestito di SQL Server in Microsoft Azure.
SQL Server Agent Affinché il backup gestito di SQL Server in Microsoft Azure funzioni, SQL Server Agent deve essere in esecuzione. È consigliabile impostare l'opzione per l'avvio automatico.
Replica secondaria leggibile del gruppo di disponibilità Se si esegue l'offload dei backup gestiti in una replica secondaria di un gruppo di disponibilità AlwaysOn, la replica secondaria deve essere impostata su Leggibile per il successo dei backup gestiti.

Componenti

Transact-SQL è l'interfaccia principale per interagire con il backup gestito di SQL Server in Microsoft Azure. Le stored procedure di sistema vengono usate per abilitare, configurare e monitorare il backup gestito di SQL Server in Microsoft Azure. Le funzioni di sistema vengono utilizzate per recuperare le informazioni sui file di backup, i valori dei parametri e le impostazioni di configurazione esistenti. Gli eventi estesi vengono utilizzati per esporre errori e avvisi. I meccanismi di avviso sono abilitati tramite i processi di SQL Agent e la gestione basata su criteri di SQL Server. Il seguente elenco di oggetti include una descrizione della relativa funzionalità rispetto al backup gestito di SQL Server in Microsoft Azure.

I cmdlet di PowerShell sono disponibili anche per configurare il backup gestito di SQL Server in Microsoft Azure. SQL Server Management Studio supporta il ripristino dei backup creati dal backup gestito di SQL Server in Microsoft Azure tramite l'attività Ripristina database.

Oggetto di sistema Descrizione
msdb Vengono archiviati i metadati e la cronologia di backup di tutti i backup creati dal backup gestito di SQL Server in Microsoft Azure.
managed_backup.sp_backup_config_basic Abilita il backup gestito di SQL Server in Microsoft Azure.
managed_backup.sp_backup_config_advanced Configura le impostazioni avanzate per Il backup gestito di SQL Server in Microsoft Azure, ad esempio la crittografia.
managed_backup.sp_backup_config_schedule Crea una pianificazione personalizzata per il backup gestito di SQL Server in Microsoft Azure.
managed_backup.sp_ backup_master_switch Mette in pausa e riavvia il backup gestito di SQL Server in Microsoft Azure.
managed_backup.sp_set_parameter Abilita e configura il monitoraggio del backup gestito di SQL Server in Microsoft Azure. Esempi: abilitazione di eventi estesi, impostazioni della posta elettronica per le notifiche.
managed_backup.sp_backup_on_demand Esegue un backup ad hoc di un database abilitato all'uso del backup gestito di SQL Server in Microsoft Azure senza interruzione della catena di log.
managed_backup.fn_backup_db_config Restituisce i valori di configurazione e di stato del backup gestito di SQL Server in Microsoft Azure correnti per un database o per tutti i database nell'istanza.
managed_backup.fn_is_master_switch_on Restituisce lo stato del parametro master.
managed_backup.sp_get_backup_diagnostics Restituisce gli eventi registrati da Eventi estesi.
managed_backup.fn_get_parameter Restituisce i valori correnti delle impostazioni di sistema di backup, ad esempio le impostazioni di monitoraggio e di posta elettronica per gli avvisi.
managed_backup.fn_available_backups Recupera i backup disponibili per un determinato database o per tutti i database in un'istanza.
managed_backup.fn_get_current_xevent_settings Restituisce le impostazioni correnti degli eventi estesi.
managed_backup.fn_get_health_status Restituisce i conteggi aggregati di errori registrati dagli eventi estesi per un periodo specificato.

Strategia di backup

Le sezioni seguenti descrivono una strategia di backup per il backup gestito di SQL Server in Microsoft Azure.

Pianificazione del backup

È possibile specificare una pianificazione di backup personalizzata usando la stored procedure di sistema managed_backup.sp_backup_config_schedule. Se non viene specificata una pianificazione personalizzata, il tipo di backup pianificato e la frequenza di esecuzione vengono stabiliti in base al carico di lavoro del database. Le impostazioni del periodo di memorizzazione vengono utilizzate per determinare la durata di conservazione di un file di backup nell'archiviazione e la possibilità di recupero del database fino a una temporizzazione entro il periodo di memorizzazione.

Convenzioni di denominazione dei file di backup

Il backup gestito di SQL Server in Microsoft Azure usa il contenitore specificato dall'utente, che ha quindi il controllo sul nome del contenitore. I file di backup per i database non di disponibilità vengono denominati usando la convenzione seguente: il nome viene creato usando i primi 40 caratteri del nome del database, il GUID del database senza - e il timestamp. Il carattere di sottolineatura viene inserito tra i segmenti come separatore. Per il backup completo viene utilizzata l'estensione di file .bak, mentre per i backup del log viene utilizzata .log. Per i database del gruppo di disponibilità (AG), oltre alla convenzione di denominazione file descritta in precedenza, viene aggiunto il GUID del database del gruppo di disponibilità dopo i 40 caratteri del nome del database. Il valore GUID del database del gruppo di disponibilità è il valore di group_database_id in sys.databases.

Backup completo del database

Il backup gestito di SQL Server in Microsoft Azure pianifica un backup completo del database se si verifica una delle condizioni seguenti:

  • Un database è un backup gestito di SQL Server in Microsoft Azure abilitato per la prima volta, o quando il backup gestito di SQL Server in Microsoft Azure è abilitato con le impostazioni predefinite a livello di istanza.

  • L'aumento delle dimensioni del log dopo l'ultimo backup completo del database è uguale o maggiore di 1 GB.

  • È passato l'intervallo di tempo massimo di una settimana dall'ultimo backup completo del database.

  • La catena di log è stata interrotta. Il backup gestito di SQL Server in Microsoft Azure controlla periodicamente se la catena di log è intatta confrontando il primo e l'ultimo LSN dei file di backup. Se si verifica un'interruzione nella catena di log per qualsiasi motivo, tramite il backup gestito di SQL Server in Microsoft Azure viene pianificato un backup completo del database. Nella maggior parte dei casi le interruzioni della catena di log sono dovute probabilmente a un comando di backup eseguito tramite Transact-SQL o mediante l'attività di backup in SQL Server Management Studio. Tra gli altri scenari comuni sono incluse l'eliminazione accidentale dei file di log di backup o la sovrascrittura accidentale dei backup.

Backup del log delle transazioni

Il backup gestito di SQL Server in Microsoft Azure pianifica un backup del log se è vera una delle condizioni seguenti:

  • Non sono disponibili cronologie di backup del log. Questo vale in genere quando il backup gestito di SQL Server in Microsoft Azure è abilitato per la prima volta.

  • Lo spazio del log delle transazioni utilizzato è pari ad almeno 5 MB.

  • È stato raggiunto l'intervallo di tempo massimo di 2 ore dall'ultimo backup del log.

  • Ogni volta che il backup del log delle transazioni è in ritardo rispetto a un backup completo del database. L'obiettivo è quello di anticipare la catena di log rispetto al backup completo.

Impostazioni del periodo di memorizzazione

Quando si abilita il backup, è necessario impostare il periodo di memorizzazione in giorni: il valore minimo è pari a 1 giorno mentre quello massimo a 90 giorni.

Il backup gestito di SQL Server in Microsoft Azure basato sulle impostazioni del periodo di conservazione valuta la possibilità di eseguire un recupero fino a una data e ora specifiche in un tempo specificato, per determinare quali file di backup mantenere e quali invece eliminare. L'oggetto backup_finish_date del backup viene utilizzato per determinare e far corrispondere il tempo specificato in base alle impostazioni del periodo di memorizzazione.

Considerazioni

Per un database, se è in esecuzione un processo di backup completo del database esistente, tramite il backup gestito di SQL Server in Microsoft Azure si attende il completamento del processo corrente prima di eseguire un altro backup completo dello stesso database. Analogamente, solo un backup del log delle transazioni può essere in esecuzione in un determinato momento. Tuttavia, un backup completo del database e un backup del log delle transazioni possono essere eseguiti contemporaneamente. Gli errori vengono registrati come eventi estesi.

Se sono pianificati più di 10 backup completi del database simultanei, viene generato un avviso tramite il canale di debug di eventi estesi. Tramite i backup gestito di SQL Server in Microsoft Azure viene quindi gestita una coda di priorità per i database rimanenti di cui deve essere eseguito un backup fino alla pianificazione e al completamento di tutti i backup.

Nota

Il backup gestito di SQL Server non è supportato con i server proxy.

Supporto

Le seguenti considerazioni e limitazioni del supporto sono specifiche di SQL Server:

  • Il backup di database di sistema master, model e msdb è supportato. Il backup di tempdb non è supportato.

  • Sono supportati tutti i modelli di recupero (con registrazione completa, con registrazione minima delle operazioni bulk, con registrazione minima).

  • L’agente di backup gestito di SQL Server in Microsoft Azure supporta solo i backup completi del database e del log. L'automazione di backup di file non è supportata.

  • L’Archiviazione BLOB Microsoft Azure è l'unica opzione di archiviazione di backup supportata. I backup su disco o su nastro non sono supportati.

  • Il backup gestito di SQL Server in Microsoft Azure usa la funzionalità di backup in BLOB in blocchi. La dimensione massima di un blob in blocchi è 200 GB. Se si adotta lo striping, la dimensione massima di un singolo backup può arrivare a 12 TB. Se il backup supera questo limite, è consigliabile usare la compressione e verificare la dimensione del file di backup prima di configurare il backup gestito di SQL Server in Microsoft Azure. È possibile eseguire tale verifica con un backup in un disco locale o con un backup manuale nel servizio di archiviazione di Microsoft Azure usando l'istruzione BACKUP TO URL. Per altre informazioni, vedere Backup e ripristino di SQL Server a URL con l’archiviazione BLOB di Microsoft Azure.

  • Il backup gestito di SQL Server in Microsoft Azure può presentare alcune limitazioni se configurato con altre tecnologie che supportano il backup, la disponibilità elevata o il ripristino di emergenza.

  • I backup dei database in un gruppo di disponibilità saranno backup copy_only.

  • Se si esegue l'offload dei backup gestiti in una replica secondaria di un gruppo di disponibilità AlwaysOn, la replica secondaria deve essere impostata su Leggibile per i backup gestiti per eseguire lo striping di più file.