Abilitare il backup gestito di SQL Server in Azure
Si applica a: SQL Server
Questo argomento descrive come abilitare il backup gestito dal server SQL in Microsoft Azure con le impostazioni predefinite a livello di database e di istanza. Viene descritta anche la procedura per abilitare le notifiche tramite posta elettronica e monitorare l'attività di backup.
Questa esercitazione usa Azure PowerShell. Prima di iniziare l'esercitazione, scaricare e installare Azure PowerShell.
Importante
Per abilitare anche le opzioni avanzate o usare una pianificazione personalizzata, configurare tali impostazioni prima di abilitare il backup gestito dal server SQL in Microsoft Azure. Per altre informazioni, vedere Configurare le opzioni avanzate per il backup gestito di SQL Server in Microsoft Azure.
Creare il contenitore Archiviazione BLOB di Azure
Il processo richiede un account Azure. Se è già disponibile un account, procedere con il passaggio successivo. In caso contrario, è possibile iniziare con una versione di valutazione gratuita oppure esaminare le opzioni per l'acquisto.
Per altre informazioni sugli account di archiviazione, vedere Informazioni sugli account di archiviazione di Azure.
Accedere all'account di Azure.
az login
Creare un account di archiviazione di Azure. se si dispone già di un account di archiviazione, andare al passaggio successivo. Il comando seguente crea un account di archiviazione denominato
<backupStorage>
nell'area Stati Uniti orientali.az storage account create -n <backupStorage> -l "eastus" --resource-group <resourceGroup>
Creare un contenitore BLOB denominato
<backupContainer>
per i file di backup.$keys = az storage account keys list --account-name <backupStorage> --resource-group <resourceGroup> | ConvertFrom-Json az storage container create --name <backupContainer> --account-name <backupStorage> --account-key $keys[0].value
Generare una firma di accesso condiviso per accedere al contenitore. Il comando seguente crea un token della firma di accesso condiviso per il contenitore BLOB
<backupContainer>
con scadenza annuale.az storage container generate-sas --name <backupContainer> --account-name <backupStorage> --account-key $keys[0].value
Nota
Questi passaggi possono essere eseguiti anche usando il portale di Azure.
L'output conterrà l'URL del contenitore e/o il token della firma di accesso condiviso. Di seguito è riportato un esempio:
https://managedbackupstorage.blob.core.windows.net/backupcontainer?sv=2014-02-14&sr=c&sig=xM2LXVo1Erqp7LxQ%9BxqK9QC6%5Qabcd%9LKjHGnnmQWEsDf%5Q%se=2015-05-14T14%3B93%4V20X&sp=rwdl
Se l'URL è incluso, separarlo dal token della firma di accesso condiviso in corrispondenza del punto interrogativo (non includere il punto interrogativo). Ad esempio, l'output precedente corrisponde ai due valori seguenti.
Type | Output |
---|---|
URL del contenitore | https://managedbackupstorage.blob.core.windows.net/backupcontainer |
Token della firma di accesso condiviso | sv=2014-02-14&sr=c&sig=xM2LXVo1Erqp7LxQ%9BxqK9QC6%5Qabcd%9LKjHGnnmQWEsDf%5Q%se=2015-05-14T14%3B93%4V20X&sp=rwdl |
Registrare l'URL del contenitore e la firma di accesso condiviso per usarli per la creazione di una credenziale SQL. Per altre informazioni sulle firme di accesso condiviso, vedere Firme di accesso condiviso, parte 1: conoscere il modello di firma di accesso condiviso.
Abilitare il backup gestito in Azure
Creare una credenziale SQL per l'URL della firma di accesso condiviso : usare il token della firma di accesso condiviso per creare una credenziale SQL per l'URL del contenitore BLOB. In SQL Server Management Studio usare la query Transact-SQL seguente per creare la credenziale per l'URL del contenitore BLOB in base all'esempio seguente:
CREATE CREDENTIAL [https://managedbackupstorage.blob.core.windows.net/backupcontainer] WITH IDENTITY = 'Shared Access Signature', SECRET = 'sv=2014-02-14&sr=c&sig=xM2LXVo1Erqp7LxQ%9BxqK9QC6%5Qabcd%9LKjHGnnmQWEsDf%5Q%se=2015-05-14T14%3B93%4V20X&sp=rwdl'
Assicurarsi che il servizio SQL Server Agent sia avviato e in esecuzione : avviare SQL Server Agent se non è in esecuzione. Per eseguire le operazioni di backup, il backup gestito di SQL Server a Microsoft Azure richiede che SQL Server Agent sia eseguito nell'istanza. Per assicurarsi che le operazioni in questione vengano eseguite regolarmente, è possibile impostare l'esecuzione automatica di SQL Server Agent.
Determinare il periodo di memorizzazione : determinare il periodo di memorizzazione per i file di backup. Il periodo di conservazione viene specificato in giorni e può variare da 1 a 90.
Abilitare e configurare il backup gestito di SQL Server in Microsoft Azure: avviare SQL Server Management Studio e connettersi all'istanza di SQL Server di destinazione. Nella finestra Query eseguire l'istruzione seguente dopo aver modificato i valori per il nome del database, l'URL del contenitore e il periodo di memorizzazione in base alle esigenze:
Importante
Per abilitare il backup gestito a livello di istanza, specificare
NULL
per il parametrodatabase_name
.USE msdb; GO EXEC msdb.managed_backup.sp_backup_config_basic @enable_backup = 1, @database_name = 'yourdatabasename', @container_url = 'https://managedbackupstorage.blob.core.windows.net/backupcontainer', @retention_days = 30 GO
Il backup gestito di SQL Server in Microsoft Azure è ora abilitato nel database specificato. L'inizio delle operazioni di backup nel database può richiedere fino a 15 minuti.
Esaminare la configurazione predefinita degli eventi estesi: esaminare le impostazioni degli eventi estesi eseguendo l'istruzione Transact-SQL riportata di seguito.
SELECT * FROM msdb.managed_backup.fn_get_current_xevent_settings()
Verificare che gli eventi dei canali amministrativo, operativo e analitico siano abilitati per impostazione predefinita e che non possano essere disabilitati. Questa verifica dovrebbe essere sufficiente per monitorare gli eventi per i quali è richiesto un intervento manuale. È possibile abilitare eventi di debug, ma nei canali di debug sono inclusi eventi informativi e di debug utilizzati dal backup gestito di SQL Server in Microsoft Azure per rilevare eventuali problemi e risolverli.
Abilitare e configurare notifiche per lo stato di integrità il backup gestito di SQL Server in Microsoft Azure ha una stored procedure che consente di creare un processo dell'agente per inviare notifiche tramite posta elettronica di errori o avvisi che potrebbero richiedere attenzione. Nei passaggi seguenti viene illustrato il processo per abilitare e configurare le notifiche tramite posta elettronica:
Configurare Posta elettronica database se non è già abilitato nell'istanza. Per altre informazioni, vedere Configurare Posta elettronica database.
Configurare la notifica di SQL Server Agent per l'uso di Posta elettronica database. Per altre informazioni, vedere Configure SQL Server Agent Mail to Use Database Mail.
Abilitare notifiche tramite posta elettronica per ricevere errori e avvisi di backup : nella finestra Query eseguire le istruzioni Transact-SQL riportate di seguito:
EXEC msdb.managed_backup.sp_set_parameter @parameter_name = 'SSMBackup2WANotificationEmailIds', @parameter_value = '<email1;email2>'
Visualizzare i file di backup nell'account di archiviazione Azure: connettersi all'account di archiviazione da SQL Server Management Studio o dal portale di Azure. Verranno visualizzati gli eventuali file di backup disponibili nel contenitore specificato. Potrebbe essere visualizzato un backup del database e del log entro 5 minuti dall'abilitazione del backup gestito di SQL Server in Microsoft Azure per il database.
Monitorare lo stato di integrità : è possibile eseguire il monitoraggio attraverso notifiche di posta elettronica configurate in precedenza o monitorare attivamente gli eventi registrati. Di seguito sono riportate alcune istruzioni Transact-SQL di esempio utilizzate per visualizzare gli eventi:
-- view all admin events USE msdb; GO DECLARE @startofweek datetime DECLARE @endofweek datetime SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP) SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP) DECLARE @eventresult TABLE (event_type nvarchar(512), event nvarchar (512), timestamp datetime ) INSERT INTO @eventresult EXEC managed_backup.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek SELECT * from @eventresult WHERE event_type LIKE '%admin%'
-- to enable debug events USE msdb; GO EXEC managed_backup.sp_set_parameter 'FileRetentionDebugXevent', 'True'
-- View all events in the current week USE msdb; GO DECLARE @startofweek datetime DECLARE @endofweek datetime SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP) SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP) EXEC managed_backup.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek;
I passaggi descritti in questa sezione riguardano in modo specifico la configurazione del backup gestito di SQL Server in Microsoft Azure per la prima volta nel database. È possibile modificare le configurazioni esistenti usando le stesse stored procedure di sistema e specificare nuovi valori.