Backup gestito di SQL Server in Microsoft Azure

Si applica a: sìSQL Server (tutte le versioni supportate)

Backup gestito di SQL Server in Microsoft Azure consente di gestire e automatizzare 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. In alternativa, è possibile 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. Backup gestito di SQL Server in Microsoft Azure supporta il ripristino temporizzato per il periodo di memorizzazione specificato.

A partire da SQL Server 2016 (13.x), sono state modificate le procedure e il comportamento sottostante di Backup gestito di SQL Server in Microsoft Azure . Per altre informazioni, vedere Migrare le impostazioni di backup gestito di SQL Server 2014 a SQL Server 2016.

Suggerimento

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 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. Backup gestito di SQL Server in Microsoft Azure consente di pianificare, eseguire e gestire i backup.

Backup gestito di SQL Server in Microsoft Azure 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 il servizio di archiviazione BLOB di Microsoft Azure.

Prerequisiti

Archiviazione di Microsoft Azure è usata da Backup gestito di SQL Server in Microsoft Azure per l'archiviazione dei 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 nel servizio di archiviazione BLOB Azure associato a un account di archiviazione Azure. Per istruzioni dettagliate per creare un account di archiviazione, vedere Informazioni sugli account di archiviazione Azure.
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 PowerShellNew-AzureStorageContainer .
Firma di accesso condiviso L'accesso al contenitore di destinazione è controllato da una firma di accesso condiviso (SAS, Shared Access Signature). Per una panoramica su SAS, vedere Firme di accesso condiviso, parte 1: informazioni sul modello di firma 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 della firma di accesso condiviso può essere archiviato in Credenziali SQL ed essere usato con Backup gestito di SQL Server in Microsoft Azure.
SQL Server Agent Per il corretto funzionamento di Backup gestito di SQL Server in Microsoft Azure è necessario che il servizio SQL Server Agent sia in esecuzione. È consigliabile impostare l'opzione per l'avvio automatico.

Componenti

Transact-SQL è l'interfaccia principale per interagire con Backup gestito di SQL Server in Microsoft Azure. Le stored procedure di sistema vengono utilizzate per l'abilitazione, la configurazione e il monitoraggio di 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. Di seguito sono riportati un elenco di oggetti e una descrizione della relativa funzionalità rispetto a Backup gestito di SQL Server in Microsoft Azure.

Per configurare Backup gestito di SQL Server in Microsoft Azuresono disponibili anche i cmdlet di PowerShell. SQL Server Management Studio supporta il ripristino dei backup creati da 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 da Backup gestito di SQL Server in Microsoft Azure.
managed_backup.sp_backup_config_basic (Transact-SQL) Abilita Backup gestito di SQL Server in Microsoft Azure.
managed_backup.sp_backup_config_advanced (Transact-SQL) Configura le impostazioni avanzate per Backup gestito di SQL Server in Microsoft Azure, ad esempio la crittografia.
managed_backup.sp_backup_config_schedule (Transact-SQL) Crea una pianificazione personalizzata per Backup gestito di SQL Server in Microsoft Azure.
managed_backup.sp_ backup_master_switch (Transact-SQL) Sospende e riprende Backup gestito di SQL Server in Microsoft Azure.
managed_backup.sp_set_parameter (Transact-SQL) Attiva e configura il monitoraggio per 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 (Transact-SQL) Esegue un backup ad hoc di un database abilitato all'uso di Backup gestito di SQL Server in Microsoft Azure senza interruzione della catena di log.
managed_backup.fn_backup_db_config (Transact-SQL) Restituisce i valori di configurazione e di stato di 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 (Transact-SQL) Restituisce lo stato del parametro master.
managed_backup.sp_get_backup_diagnostics (Transact-SQL) Restituisce gli eventi registrati da Eventi estesi.
managed_backup.fn_get_parameter (Transact-SQL) 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 (Transact-SQL) Recupera i backup disponibili per un determinato database o per tutti i database in un'istanza.
managed_backup.fn_get_current_xevent_settings (Transact-SQL) Restituisce le impostazioni correnti degli eventi estesi.
managed_backup.fn_get_health_status (Transact-SQL) Restituisce i conteggi aggregati di errori registrati dagli eventi estesi per un periodo specificato.

Strategia di backup

Pianificazione del backup

È possibile specificare una pianificazione di backup personalizzata usando la stored procedure di sistema managed_backup.sp_backup_config_schedule (Transact-SQL). 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

Backup gestito di SQL Server in Microsoft Azure usa il contenitore specificato dall'utente, che ha quindi il controllo sul nome del contenitore. Per i file di backup, 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à, 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 per group_database_id in sys.databases.

Backup completo del database

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

  • Un database è abilitato da Backup gestito di SQL Server in Microsoft Azure per la prima volta o quando Backup gestito di SQL Server in Microsoft Azure viene 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. Backup gestito di SQL Server in Microsoft Azure vengono eseguiti controlli periodici per determinare 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 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

Backup gestito di SQL Server in Microsoft Azure pianifica un backup del log se si verifica una delle condizioni seguenti:

  • Non sono disponibili cronologie di backup del log. Questa situazione si verifica in genere quando Backup gestito di SQL Server in Microsoft Azure viene 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 conservazione in giorni: il valore minimo è pari a 1 giorno mentre quello massimo a 30 giorni.

Backup gestito di SQL Server in Microsoft Azure basato sulle impostazioni del periodo di memorizzazione viene valutata 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.

Importanti considerazioni

Per un database, se è in esecuzione un processo di backup completo del database esistente, tramite 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. 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.

Facilità di supporto

Le seguenti considerazioni e limitazioni del supporto sono specifiche di SQL Server 2019 (15.x):

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

  • SQL Server 2019 (15.x)supporta tutti i modelli di recupero (con registrazione completa, con registrazione minima delle operazioni bulk, con registrazione minima).

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

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

  • Backup gestito di SQL Server in Microsoft Azure usa la funzionalità di backup su archivio 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 valore, è consigliabile usare la compressione e verificare la dimensione del file di backup prima di configurare 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 Transact-SQL BACKUP TO URL . Per altre informazioni, vedere SQL Server Backup to URL.

  • 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.

Vedere anche