Condividi tramite


Backup automatico per SQL Server nelle VM di Azure

Applies to:SQL Server on Azure VM

Il backup automatico configura automaticamente il backup gestito in Microsoft Azure per tutti i database nuovi ed esistenti nelle VM SQL Server 2016 o versioni successive Standard, Enterprise o Developer in esecuzione. In questo modo è possibile configurare i backup periodici del database che usano l'archiviazione BLOB di Azure durevole.

Prerequisites

Per usare i backup automatici per SQL Server nelle VM Azure, è necessario avere:

  • Un SQL Server su VM Azure registrate con l'estensione SQL IaaS Agent.
  • Windows Server 2012 R2 o versioni successive.
  • SQL Server 2016 e versioni successive. Per SQL Server 2014, si veda: Backup automatico per SQL Server 2014.
  • Database configuration:
    • Target user databases must use the full recovery model. I database di sistema non devono necessariamente usare un modello di recupero con registrazione completa. Se tuttavia è necessario effettuare il backup del log per model o msdb deve essere usato il modello di recupero con registrazione completa. Per ulteriori informazioni sull'impatto del modello di recupero con registrazione completa sui backup, vedere Backup con il modello di recupero con registrazione completa.
    • La macchina virtuale di SQL Server è stata registrata con l'estensione SQL IaaS Agent e la funzionalità Backup automatico è abilitata. Poiché il backup automatico si basa sull'estensione, il backup automatico è supportato solo nei database di destinazione dall'istanza predefinita o in una singola istanza denominata. Se non è presente alcuna istanza predefinita e più istanze denominate, l'estensione SQL IaaS Agent non riesce e il backup automatico non funzionerà.
    • If you're running automated backups on a secondary Always On availability group replica, the replica must be Readable for the backups to succeed.

Settings

Nella seguente tabella sono descritte le opzioni che possono essere configurate per il Backup Automatico. I passaggi di configurazione effettivi variano a seconda che venga usato il portale di Azure o i comandi di Windows PowerShell di Azure. Automated Backup uses backup compression by default and it can't be disabled.

Basic Settings

Setting Range (Default) Description
Automated Backup Enable/Disable (Disabled) Abilita o disabilita il backup automatico per una macchina virtuale di Azure in cui viene eseguito SQL Server 2016 o versione successiva Developer, Standard o Enterprise.
Retention Period 1-90 giorni (90 giorni) Numero di giorni in cui il servizio mantiene i metadati di backup in msdb. Dopo la scadenza del periodo di conservazione per un backup, i metadati vengono eliminati da msdb, ma i file non vengono eliminati dal contenitore di archiviazione. È possibile usare criteri di gestione del ciclo di vita per l'account di archiviazione per bilanciare la conservazione dei backup con la gestione dei costi in base alle esigenze aziendali.
Storage Account Account di archiviazione di Azure Account di archiviazione di Azure da usare per archiviare i file del Backup Automatico nell'archiviazione BLOB. In questa posizione viene creato un contenitore per archiviare tutti i file di backup. La convenzione di denominazione dei file di backup include la data, l'ora e il GUID database.
Encryption Enable/Disable (Disabled) Abilita o disabilita la crittografia di backup. Quando è abilitata la crittografia, i certificati usati per ripristinare il backup sono contenuti nell'account di archiviazione specificato, nello stesso contenitore automaticbackup con la stessa convenzione di denominazione. Se la password viene modificata, viene generato un nuovo certificato con tale password, ma il certificato precedente viene mantenuto per ripristinare i backup precedenti.
Password Password text Password per le chiavi di crittografia. Questa password è necessaria solo se la crittografia è abilitata. Per ripristinare un backup crittografato, è necessario disporre della password corretta e del certificato correlato usato al momento dell'esecuzione del backup.

Advanced Settings

Setting Range (Default) Description
Backup dei database di sistema Enable/Disable (Disabled) Quando abilitata, questa funzionalità esegue inoltre il backup dei database di sistema: master, msdb, e model. Per i database msdb and model, verificare che siano in modello di recupero con registrazione completa se si desidera eseguire il backup dei log. I backup del log non vengono mai eseguiti per master e non vengono eseguiti backup per tempdb.
Backup Schedule Manual/Automated (Automated) Per impostazione predefinita, la pianificazione del backup è determinata automaticamente in base all'aumento delle dimensioni dei log. Una pianificazione manuale del backup consente all'utente di specificare l'intervallo di tempo per i backup. In questo caso, i backup viene eseguiti unicamente con la frequenza e nell'intervallo di tempo specificati per il giorno in questione.
Frequenza backup completo Daily/Weekly Frequenza dei backup completi. In entrambi i casi, i backup completi iniziano nell'intervallo di tempo pianificato successivo. Quando si seleziona la frequenza settimanale, i backup potrebbero durare più giorni fino ad aver incluso tutti i database.
Ora di inizio backup completo 00:00 – 23:00 (01:00) Ora di inizio di un determinato giorno in cui possono avere luogo i backup completi.
Intervallo di tempo per il backup completo 1-23 ore (1 ora) Intervallo di tempo di un determinato giorno in cui possono avere luogo i backup completi.
Frequenza di backup del log 5-60 minuti (60 minuti) Frequenza dei backup dei log.

Note

La pianificazione dei backup automatizzati esegue i backup in base all'aumento dei log. Non è consigliabile usare backup automatici quando i database sono in modalità di ripristino semplice.

Informazioni sulla frequenza dei backup completi

È importante comprendere la differenza tra i backup completi giornalieri e settimanali. Esaminare i due scenari di esempio seguenti.

Scenario 1: Backup settimanali

Si dispone di una macchina virtuale di SQL Server che contiene una serie di database di grandi dimensioni.

Ogni lunedì viene abilitato il Backup automatico con le seguenti impostazioni:

  • Backup schedule: Manual
  • Full backup frequency: Weekly
  • Full backup start time: 01:00
  • Full backup time window: 1 hour

Ciò significa che l'intervallo di tempo disponibile successivo per il backup sarà martedì alle ore 01:00 per 1 ora. In quel momento, Backup automatico inizia a eseguire il backup dei database, uno alla volta. In questo scenario, date le dimensioni dei database, il tempo è sufficiente per eseguire il backup dei primi due. Passata l'ora, tuttavia, il backup non è stato eseguito per tutti i database.

In questo caso, Backup automatico inizierà a eseguire il backup dei database rimanenti il giorno dopo, ovvero mercoledì, sempre alle ore 01:00 per un'ora. Se anche dopo quell'intervallo di tempo non è stato eseguito il backup di tutti i database, Backup automatico riprova il giorno successivo, e così via fino a quando non viene stato eseguito il backup di tutti i database.

Il martedì successivo, Backup automatico comincia nuovamente il backup di tutti i database.

In questo scenario, Backup automatico opera unicamente nell'intervallo di tempo specificato e viene eseguito il backup di ogni database una volta alla settimana. Si noti anche come sia possibile distribuire i backup su più giorni nel caso in cui un unico giorno non sia sufficiente per completarli.

Scenario 2: Backup giornalieri

Si dispone di una macchina virtuale di SQL Server che contiene una serie di database di grandi dimensioni.

Ogni lunedì viene abilitato il Backup automatico con le seguenti impostazioni:

  • Pianificazione backup: Manuale
  • Frequenza backup completo: Ogni giorno
  • Ora di inizio backup completo: 22:00
  • Intervallo di tempo dei backup completi: 6 ore

Ciò significa che l'intervallo di tempo disponibile successivo per il backup sarà lunedì alle ore 22:00 per 6 ore. In quel momento, Backup automatico inizia a eseguire il backup dei database, uno alla volta.

Il backup viene quindi eseguito nuovamente martedì alle 22:00 per 6 ore.

Important

I backup vengono eseguiti in sequenza durante ogni intervallo. Per le istanze con un numero elevato di database, pianificare l'intervallo di backup tenendo conto di un tempo sufficiente per supportare tutti i backup. Se non è possibile completare i backup entro l'intervallo specificato, alcuni backup potrebbero essere ignorati e il tempo tra i backup per un singolo database potrebbe essere superiore al tempo di intervallo di backup configurato, che potrebbe influire negativamente sull'obiettivo del punto di ripristino (RPO).

Configurare le nuove macchine virtuali

Usare il portale di Azure per configurare il Backup automatico quando si crea una nuova macchina virtuale di SQL Server 2016 o versione successiva nel modello di distribuzione Resource Manager.

Nella scheda Impostazioni SQL Server selezionare Abilita in Backup automatico. Quando si abilita il backup automatico di SQL è possibile configurare le impostazioni seguenti:

  • Periodo di conservazione (fino a 90 giorni) per i backup
  • Account di archiviazione e contenitore di archiviazione da usare per i backup
  • Opzione di crittografia e password per i backup
  • Backup dei database di sistema
  • Configure backup schedule (Configura la pianificazione dei backup)

To encrypt the backup, select Enable. Then specify the Password. Azure crea un certificato per crittografare i backup e usa la password specificata per proteggere il certificato.

Scegliere Seleziona contenitore Archiviazione per specificare il contenitore in cui archiviare i backup.

By default the schedule is set automatically, but you can create your own schedule by selecting Manual, which allows you to configure the backup frequency, backup time window, and the log backup frequency in minutes.

The following Azure portal screenshot shows the Automated Backup settings when you create a new SQL Server VM:

Screenshot della configurazione del backup automatico nel portale di Azure.

Configurare le macchine virtuali esistenti

Per le macchine virtuali SQL Server esistenti, passare alla risorsa Macchine virtuali SQL e quindi selezionare Backup per configurare i backup automatici.

Select Enable to configure your Automated Backup settings.

È possibile configurare il periodo di conservazione (fino a 90 giorni), il contenitore per l'account di archiviazione in cui archiviare i backup, nonché la crittografia e la pianificazione del backup. Per impostazione predefinita, la pianificazione è automatizzata.

Screenshot del backup automatico per le macchine virtuali esistenti nel portale.

If you want to set your own backup schedule, choose Manual and configure the backup frequency, whether or not you want system databases backed up, and the transaction log backup interval in minutes.

Screenshot della selezione manuale per configurare la pianificazione di backup personalizzata.

When finished, select the Apply button on the bottom of the Backups settings page to save your changes.

Se si intende abilitare il backup automatico per la prima volta, Azure configura l'agente IaaS di SQL Server in background. Durante questo periodo, nel portale di Azure potrebbe non essere visualizzata l'informazione relativa alla configurazione del Backup Automatico. Attendere alcuni minuti per l'installazione e la configurazione dell'agente. A questo punto, nel portale di Azure verranno visualizzate le nuove impostazioni.

Configurare con PowerShell

È possibile usare PowerShell per configurare il Backup Automatico. Prima di iniziare, è necessario eseguire queste operazioni:

Note

Questo articolo usa il modulo di PowerShell Azure Az consigliato per l'interazione con Azure. Per iniziare a usare il modulo Az PowerShell, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Installare l'estensione di SQL Server IaaS

Se è stato eseguito il provisioning di una macchina virtuale di SQL Server dal portale di Azure, l'estensione di SQL Server IaaS dovrebbe già essere installata. You can determine whether it's installed for your VM by calling Get-AzVM command and examining the Extensions property.

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"

(Get-AzVM -Name $vmname -ResourceGroupName $resourcegroupname).Extensions 

If the SQL Server IaaS Agent extension is installed, you should see it listed as "SqlIaaSAgent" or "SQLIaaSExtension." ProvisioningState for the extension should also show "Succeeded."

Nel caso in cui l'estensione non sia installata o non sia stato possibile eseguire il provisioning, è possibile installarla con il comando seguente. In addition to the VM name and resource group, you must also specify the region ($region) that your VM is located in.

$region = "EASTUS2"
Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "2.0" -Location $region 

Verificare le impostazioni correnti

Se si è abilitato il backup automatico durante il provisioning, è possibile usare PowerShell per verificare la configurazione corrente. Run the Get-AzVMSqlServerExtension command and examine the AutoBackupSettings property:

(Get-AzVMSqlServerExtension -VMName $vmname -ResourceGroupName $resourcegroupname).AutoBackupSettings

L'output dovrebbe essere simile al seguente:

Enable                      : True
EnableEncryption            : False
RetentionPeriod             : 30
StorageUrl                  : https://test.blob.core.windows.net/
StorageAccessKey            :  
Password                    : 
BackupSystemDbs             : False
BackupScheduleType          : Manual
FullBackupFrequency         : WEEKLY
FullBackupStartTime         : 2
FullBackupWindowHours       : 2
LogBackupFrequency          : 60

If your output shows that Enable is set to False, then you have to enable Automated Backup. I passaggi per farlo sono identici a quelli per abilitare e configurare Backup automatico. Per informazioni in merito, vedere la sezione seguente.

Note

Se si verificano le impostazioni subito dopo una modifica, è possibile che vengano visualizzati i valori precedenti. Attendere alcuni minuti e verificare nuovamente le impostazioni per assicurarsi che siano state applicate le modifiche.

Configurare Backup Automatico

È possibile usare PowerShell per abilitare Backup automatico e per modificarne configurazione e comportamento in qualsiasi momento.

In primo luogo, selezionare o creare un account di archiviazione per i file di backup. Lo script seguente consente di selezionare un account di archiviazione o di crearne uno.

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

Note

Il Backup Automatico non supporta l'archiviazione di backup nell'archiviazione Premium, ma può ottenere i backup da dischi di macchine virtuali che usano l'archiviazione Premium.

Se si vuole usare un contenitore personalizzato nell'account di archiviazione per i backup, usare lo script seguente per verificare se il contenitore o crearlo se non esiste.

$storage_container = "backupcontainer"

New-AzStorageContainer -Name $storage_container -Context $storage.Context

if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
	New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
 else `
{ `
	Write-Warning "Container $storage_container already exists." `
}

Successivamente, usare il comando seguente per ottenere una chiave per l'account di archiviazione:

$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname  -Name $storage_accountname)[0].value

Then use the Update-AzSqlVM command to enable and configure the Automated Backup settings to store backups in the Azure storage account. In questo esempio, viene impostata su 10 giorni la conservazione dei backup. I backup del database di sistema sono abilitati. I backup completi sono pianificati per ogni sabato (settimanali), con un intervallo di tempo di due ore a partire dalle 20:00. I backup del log vengono eseguiti ogni 30 minuti.

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly 
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb

Potrebbero essere necessari diversi minuti per installare e configurare l'agente IaaS di SQL Server.

To enable encryption, modify the previous script to pass the -AutoBackupSettingEnableEncryption parameter along with a password (secure string) for the -AutoBackupSettingPassword parameter. Il seguente script abilita le impostazioni del Backup Automatico nell'esempio precedente e aggiunge la crittografia.

$password = "r@ndom Va1ue"
$encryptionpassword = $password | ConvertTo-SecureString -AsPlainText -Force  

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly `
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingEnableEncryption `
-AutoBackupSettingPassword $encryptionpassword `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb

Per confermare l'applicazione delle impostazioni, verificare la configurazione di Backup Automatico.

Disabilitare Backup Automatico

To disable Automated Backup, run the same script with the -AutoBackupSettingEnable parameter set to $false in the Update-AzSqlVM command. By setting the value to $false the feature is disabled. Come per l'installazione, la disabilitazione del Backup Automatico può richiedere alcuni minuti.

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable:$false

Example script

Lo script seguente fornisce un set di variabili da personalizzare per abilitare e configurare Backup Automatico per la propria macchina virtuale. In questo caso, potrebbe essere necessario personalizzare lo script in base alle esigenze. Ad esempio, potrebbe essere necessario apportare modifiche se si desidera disabilitare il backup dei database di sistema o abilitare la crittografia.

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$region = "Azure region name such as EASTUS2"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"
$retentionperiod = 10
$backupscheduletype = "Manual"
$fullbackupfrequency = "Weekly"
$fullbackupdayofweek = "Saturday"
$fullbackupstarthour = "20"
$fullbackupwindow = "2"
$logbackupfrequency = "30"

# ResourceGroupName is the resource group which is hosting the VM where you are deploying the SQL Server IaaS Extension 

Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "2.0" -Location $region

# Creates/use a storage account to store the backups

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

# Creates/uses a custom storage account container

$storage_container = "yourbackupcontainer"

if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
	New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
 else `
{ `
	Write-Warning "Container $storage_container already exists." `
}

# Get storage account access key
$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname  -Name $storage_accountname)[0].value

# Configure Automated Backup settings

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType $backupscheduletype `
-AutoBackupSettingFullBackupFrequency $fullbackupfrequency `
-AutoBackupSettingDaysOfWeek $fullbackupdayofweek `
-AutoBackupSettingFullBackupStartTime $fullbackupstarthour `
-AutoBackupSettingFullBackupWindowHour $fullbackupwindow `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod $retentionperiod `
-AutoBackupSettingLogBackupFrequency $logbackupfrequency `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb

Backup con certificati di crittografia

Se si decide di crittografare i backup, verrà generato e salvato un certificato di crittografia nello stesso account di archiviazione dei backup. In questo scenario sarà inoltre necessario immettere una password che verrà usata per proteggere i certificati di crittografia usati per crittografare e decrittografare i backup. Ciò consente di non preoccuparsi dei backup oltre la configurazione di questa funzionalità e garantisce inoltre che i backup siano sicuri.

Quando la crittografia del backup è abilitata, è consigliabile verificare se il certificato di crittografia è stato creato e caricato correttamente per garantire la ripristinabilità dei database. A tale scopo, è possibile creare immediatamente un database e controllare i certificati di crittografia e i dati di cui è stato eseguito il backup nel contenitore appena creato. Ciò mostrerà che tutto è stato configurato correttamente e che non sono si sono verificate anomalie.

Se il certificato non è stato caricato per qualche motivo, è possibile usare il gestore di certificati per esportare il certificato e salvarlo. Tuttavia, non è consigliabile salvarlo sulla stessa macchina virtuale, in quanto ciò non garantisce l'accesso al certificato quando la macchina virtuale è inattiva. Per sapere se il backup del certificato è stato eseguito correttamente dopo aver modificato o creato la configurazione del backup automatico, è possibile controllare i registri eventi nella macchina virtuale e, se non è riuscito, verrà visualizzato questo messaggio di errore:

Screenshot del messaggio di errore mostrato nel registro eventi nella VM.

Se il backup dei certificati è stato eseguito correttamente, verrà visualizzato questo messaggio nei registri eventi:

Screenshot del backup riuscito del certificato di crittografia nei registri eventi.

Come pratica generica, è consigliabile controllare l'integrità dei backup di tanto in tanto. Per poter ripristinare i backup, è necessario eseguire le operazioni seguenti:

  1. Verificare che sia stato eseguito il backup dei certificati di crittografia e che la password sia stata memorizzata. In caso contrario, non sarà possibile decrittografare e ripristinare i backup. Se per qualche motivo il backup dei certificati non è stato eseguito correttamente, è possibile eseguire questa operazione manualmente tramite la query T-SQL seguente:

    BACKUP MASTER KEY TO FILE = <file_path> ENCRYPTION BY PASSWORD = <password>
    BACKUP CERTIFICATE [AutoBackup_Certificate] TO FILE = <file_path> WITH PRIVATE KEY (FILE = <file_path>, ENCRYPTION BY PASSWORD = <password>)
    
  2. Verificare che i file di backup siano caricati con almeno 1 backup completo. Poiché gli errori possono capitare, è necessario assicurarsi di avere sempre almeno un backup completo prima di eliminare la macchina virtuale, o nel caso in cui la macchina virtuale sia danneggiata, in modo da poter comunque accedere ai dati. Assicurarsi che il backup nell'archiviazione sia sicuro e ripristinabile prima di eliminare i dischi dati della macchina virtuale.

Monitoring

Per monitorare il Backup automatizzato in SQL Server 2016 o versioni successive esistono due opzioni principali. Poiché Backup automatico usa la funzionalità di Backup gestito di SQL Server, le stesse tecniche di monitoraggio sono valide per entrambi.

First, you can poll the status by calling msdb.managed_backup.sp_get_backup_diagnostics. Or query the msdb.managed_backup.fn_get_health_status table-valued function.

È inoltre possibile sfruttare la funzionalità incorporata di posta elettronica database per le notifiche.

  1. Call the msdb.managed_backup.sp_set_parameter stored procedure to assign an email address to the SSMBackup2WANotificationEmailIds parameter.
  2. Enable SendGrid to send the emails from the Azure VM.
  3. Usare il nome utente e il server SMTP per configurare la posta elettronica database. È possibile configurare la posta elettronica database in SQL Server Management Studio o con i comandi Transact-SQL. For more information, see Database Mail.
  4. Configurare SQL Server Agent per usare la posta elettronica database.
  5. Verificare che la porta SMTP sia consentita sia attraverso il firewall della macchina virtuale locale sia nel gruppo di sicurezza di rete per la macchina virtuale.

Known issues

Prendere in considerazione questi problemi noti quando si usa la funzionalità Backup automatico.

Non è possibile abilitare il backup automatizzato nel portale di Azure

La tabella seguente elenca le possibili soluzioni se si verificano problemi durante l'abilitazione del backup automatico dal portale di Azure:

Symptom Solution
L'abilitazione dei backup automatizzati ha esito negativo se l'estensione IaaS è nello stato Non riuscito Se l'estensione Agent IaaS SQL è nello stato Non riuscito, ripristinarla.
L'abilitazione del backup automatizzato ha esito negativo se vi sono centinaia di database Si tratta di una limitazione nota con l'estensione SQL IaaS Agent. To work around this issue, you can enable Managed Backup directly instead of using the SQL IaaS Agent extension to configure Automated Backup.
L'abilitazione del backup automatizzato ha esito negativo a causa di problemi relativi ai metadati Arrestare il servizio SQL IaaS Agent. Usare il comando T-SQL use msdb exec autoadmin_metadata_delete. Avviare il servizio SQL IaaS Agent e provare nuovamente ad abilitare il backup automatico dal portale di Azure.
Abilitazione dei backup automatizzati per l'istanza del cluster di failover I backup che usano endpoint privati non sono supportati. Usare l'URI completo dell'account di archiviazione per il backup.
Eseguire il backup di più istanze di SQL usando il backup automatico Attualmente, è supportata una sola istanza SQL Server con backup automatici. Se sono presenti più istanze denominate e l'istanza predefinita, Il backup automatico funziona con l'istanza predefinita. Se sono presenti più istanze denominate e nessuna istanza predefinita, l'attivazione del backup automatico avrà esito negativo.
Il backup automatico non può essere abilitato a causa dell'account e delle autorizzazioni Procedi come segue:
- Verificare che l'agente SQL Server sia in esecuzione.
- The NT Service\SqlIaaSExtensionQuery account has proper permissions for the Automated Backup feature both within SQL Server, and also for the SQL virtual machines resource in the Azure portal.
- The SA account hasn't been renamed, though disabling it is acceptable.
Il backup automatico ha esito negativo per SQL 2016+ Consenti accesso pubblico ai BLOB è abilitato nell'account di archiviazione. In questo modo viene fornita una soluzione temporanea a un problema noto.

Problemi comuni relativi ai backup automatizzati o gestiti

Nella tabella seguente sono elencati gli errori e le soluzioni possibili quando si lavora con i backup automatici:

Symptom Solution
Il backup automatico/gestito ha esito negativo a causa di errori di timeout o di connessione all'account di archiviazione Verificare che il gruppo di sicurezza di rete (NSG) per ila rete virtuale e il firewall di Windows non blocchino le connessioni in uscita dalla macchina virtuale all'account di archiviazione (porta 443).
Il backup automatico o gestito ha esito negativo a causa dell'utilizzo elevato di I/O o memoria See if you can increase the Max Server memory and/or resize the disk/VM if you're running out of IO/VM limits. Se si sta usando il gruppo di disponibilità, scaricare i backup nella replica secondaria.
Il backup automatico ha esito negativo dopo la rinomina del server Se il nome host del computer è stato rinominato, è necessario rinominare anche il nome host all'interno di SQL Server.
Errore: L'operazione ha avuto esito negativo a causa di un errore interno. L'argomento non deve essere stringa vuota.\r\nNome parametro: sas Token Riprovare più tardi Ciò è probabilmente causato dal servizio SQL Server Agent che non ha autorizzazioni di rappresentazione corrette. Modificare il servizio SQL Server Agent per usare un account diverso per risolvere il problema.
Errore: Il backup gestito di SQL Server in Microsoft Azure non è riuscito a configurare le impostazioni di backup predefinite per l'istanza di SQL Server. L'URL del contenitore non è valido. È anche possibile che le credenziali della firma di accesso condiviso non siano valide È possibile che questo errore venga visualizzato se si dispone di numerosi database. Use Managed backup instead of Automated Backup.
Il processo di backup automatico ha avuto esito negativo dopo il riavvio della macchina virtuale Verificare che il servizio SQL Agent sia attivo e in esecuzione.
Il backup gestito ha esito negativo in modo intermittente/Errore: Il timeout di esecuzione è scaduto This is a known issue fixed in CU18 for SQL Server 2019 and [KB4040376] for SQL Server 2014-2017.
Errore: Errore del server remoto: (403) Accesso negato Ripristinare l'estensione SQL IaaS Agent.
Errore 3202: La scrittura nell'account di archiviazione ha avuto esito negativo 13 (dati non validi) Rimuovere i criteri BLOB non modificabili nel contenitore di archiviazione e verificare che l'account di archiviazione stia eseguendo al meno TLS 1.0.
Errore 3063: scrittura nel dispositivo BLOB in blocchi di backup. Il dispositivo ha raggiunto il limite di blocchi consentiti. Ciò può verificarsi se si eseguono backup automatizzati da una replica del gruppo di disponibilità Always On secondaria con la configurazione Readable impostata su NO. Affinché i backup automatizzati funzionino in una replica secondaria, la replica deve essere leggibile.
Impossibile pianificare un backup per un determinato giorno Se si usano backup automatici per SQL Server 2014, è previsto. È possibile configurare una pianificazione di backup a partire da SQL Server 2016.
Errore 403 non consentito durante la connessione al server remoto Per risolvere il problema:
- Controllare la sicurezza di rete: assicurarsi che il gruppo di sicurezza di rete (NSG) consenta il traffico sulle porte necessarie, in particolare sulla porta 443 per HTTPS.
- Verificare gli indirizzi IP: assicurarsi che gli indirizzi IP delle macchine virtuali che devono accedere all'account di archiviazione vengano aggiunti all'elenco consentito per l'account di archiviazione.
- Esaminare le impostazioni DNS: verificare che le impostazioni DNS siano configurate correttamente per risolvere il nome dell'account di archiviazione.

La disabilitazione del backup automatico o del backup gestito ha esito negativo

La tabella seguente elenca le possibili soluzioni se si verificano problemi durante la disabilitazione del backup automatico dal portale di Azure:

Symptom Solution
La disabilitazione dei backup automatizzati ha esito negativo se l'estensione IaaS è nello stato Non riuscito Se l'estensione Agent IaaS SQL è nello stato Non riuscito, ripristinarla.
La disabilitazione del backup automatico ha esito negativo a causa di problemi relativi ai metadati Arrestare il servizio SQL IaaS Agent. Usare il comando T-SQL use msdb exec autoadmin_metadata_delete. Avviare il servizio SQL Iaas Agent e provare a disabilitare il backup automatico da portale di Azure.
Il backup automatico non può essere disabilitato a causa di account e autorizzazioni Procedi come segue:
- Verificare che l'agente SQL Server sia in esecuzione.
- The NT Service\SqlIaaSExtensionQuery account has proper permissions for the Automated Backup feature both within SQL Server, and also for the SQL virtual machines resource in the Azure portal.
- The SA account hasn't been renamed, though disabling it is acceptable.

Si desidera scoprire quale servizio/applicazione occupa il backup di SQL Server

  • In SQL Server Management Studio (SSMS) Object Explorer, right-click the database > Select Reports>Standard Reports>Backup and Restore Events. Nel report è possibile espandere la sezione Operazioni di backup completate per visualizzare la cronologia dei backup.
  • If you see multiple backups on Azure or to a virtual device, check if you're using Azure Backup to back up individual SQL databases or taking a virtual machine snapshot to a virtual device, which uses the NT Authority/SYSTEM account. If you're not, check the Windows Services console (services.msc) to identify any third-party applications which might be taking backups.

Next steps

Il Backup Automatico configura Backup Gestito in Macchine virtuali di Azure. Perciò è importante esaminare la documentazione per il backup gestito per comprendere il comportamento e le implicazioni.

È possibile trovare maggiori informazioni sul backup e sul ripristino per SQL Server in macchine virtuali di Azure nell'articolo seguente: Backup e ripristino per SQL Server in Macchine virtuali di Azure.

Per informazioni sulle altre attività di automazione disponibili, vedere Estensione Agente IaaS di SQL Server.

Per ulteriori informazioni sull'esecuzione di SQL Server nelle VM di Azure, vedere Panoramica di SQL Server nelle macchine virtuali di Azure.