Backup automatico per macchine virtuali SQL Server 2014 (Resource Manager)Automated Backup for SQL Server 2014 Virtual Machines (Resource Manager)

Backup automatico Configura automaticamente il backup gestito in Microsoft Azure per tutti i database nuovi ed esistenti in una macchina virtuale di Azure con SQL Server 2014 Standard o Enterprise in esecuzione.Automated Backup automatically configures Managed Backup to Microsoft Azure for all existing and new databases on an Azure VM running SQL Server 2014 Standard or Enterprise. In questo modo è possibile configurare i backup periodici del database che utilizzano l'archiviazione BLOB di Azure durevole.This enables you to configure regular database backups that utilize durable Azure blob storage. Il backup automatico dipende dall' estensione dell'agente IaaS di SQL Server.Automated Backup depends on the SQL Server IaaS Agent Extension.

Nota

Azure offre due modelli di distribuzione per creare e usare le risorse: Gestione risorse e la distribuzione classica.Azure has two different deployment models for creating and working with resources: Resource Manager and classic. Questo articolo illustra il modello di distribuzione Resource Manager, che Microsoft consiglia di usare per le nuove distribuzioni in sostituzione del modello di distribuzione classica.This article covers using the Resource Manager deployment model, which Microsoft recommends for new deployments instead of the classic deployment model.

prerequisitiPrerequisites

Per usare il backup automatico, tenere in considerazione i seguenti prerequisiti:To use Automated Backup, consider the following prerequisites:

Sistema operativo:Operating System:

  • Windows Server 2012Windows Server 2012
  • Windows Server 2012 R2Windows Server 2012 R2
  • Windows Server 2016Windows Server 2016

Versione/edizione di SQL Server:SQL Server version/edition:

  • SQL Server 2014 StandardSQL Server 2014 Standard
  • SQL Server 2014 EnterpriseSQL Server 2014 Enterprise

Importante

Il backup automatico funziona con SQL Server 2014. Se si usa SQL Server 2016/2017, è possibile usare il backup automatico versione 2 per eseguire il backup dei database. Per altre informazioni, vedere Automated Backup v2 for SQL Server 2016 Azure Virtual Machines (Backup automatico versione 2 per macchine virtuali SQL Server 2016 in Azure).

Configurazione del database:Database configuration:

  • I database di destinazione devono usare il modello di recupero con registrazione completa.Target databases must use the full recovery model. Per altre informazioni sull'impatto del modello di recupero con registrazione completa sui backup, vedere Backup con il modello di recupero con registrazione completa.For more information about the impact of the full recovery model on backups, see Backup Under the Full Recovery Model.
  • I database di destinazione devono trovarsi nell'istanza predefinita di SQL Server.Target databases must be on the default SQL Server instance. L'estensione SQL Server IaaS non supporta le istanze denominate.The SQL Server IaaS Extension does not support named instances.

Nota

Il backup automatico si basa sull'estensione dell'agente IaaS di SQL Server. Per impostazione predefinita, le attuali immagini della raccolta di macchine virtuali di SQL aggiungono questa estensione. Per altre informazioni, vedere Estensione Agente IaaS di SQL Server.

ImpostazioniSettings

Nella seguente tabella sono descritte le opzioni che possono essere configurate per il backup automatico.The following table describes the options that can be configured for Automated Backup. I passaggi di configurazione effettivi variano a seconda che venga usato il portale di Azure o i comandi di Windows PowerShell di Azure.The actual configuration steps vary depending on whether you use the Azure portal or Azure Windows PowerShell commands.

ImpostazioneSetting Intervallo (impostazione predefinita)Range (Default) DESCRIZIONEDescription
Backup automaticoAutomated Backup Enable/Disable (disabilitato)Enable/Disable (Disabled) Abilita o disabilita il backup automatico per una macchina virtuale di Azure in cui viene eseguito SQL Server 2014 Standard o Enterprise.Enables or disables Automated Backup for an Azure VM running SQL Server 2014 Standard or Enterprise.
Periodo di conservazioneRetention Period 1-30 giorni (30 giorni)1-30 days (30 days) Numero di giorni di conservazione di un backup.The number of days to retain a backup.
Storage AccountStorage Account Account di archiviazione di AzureAzure storage account Account di archiviazione di Azure da usare per archiviare i file del backup automatico nell'archiviazione BLOB.An Azure storage account to use for storing Automated Backup files in blob storage. In questa posizione viene creato un contenitore per archiviare tutti i file di backup.A container is created at this location to store all backup files. La convenzione di denominazione dei file di backup include la data, l'ora e il nome del computer.The backup file naming convention includes the date, time, and machine name.
CrittografiaEncryption Enable/Disable (disabilitato)Enable/Disable (Disabled) Abilita o disabilita la crittografia.Enables or disables encryption. 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.When encryption is enabled, the certificates used to restore the backup are located in the specified storage account in the same automaticbackup container using the same naming convention. Se la password viene modificata, viene generato un nuovo certificato con tale password, ma il certificato precedente viene mantenuto per ripristinare i backup precedenti.If the password changes, a new certificate is generated with that password, but the old certificate remains to restore prior backups.
PasswordPassword Testo della passwordPassword text Password per le chiavi di crittografia.A password for encryption keys. Questa impostazione è necessaria solo se la crittografia è abilitata.This is only required if encryption is enabled. Per ripristinare un backup crittografato, è necessario disporre della password corretta e del certificato correlato usato al momento dell'esecuzione del backup.In order to restore an encrypted backup, you must have the correct password and related certificate that was used at the time the backup was taken.

Configurare nel portaleConfigure in the portal

È possibile usare il portale di Azure per configurare il backup automatico durante il provisioning o per le macchine virtuali di SQL Server 2014 esistenti.You can use the Azure portal to configure Automated Backup during provisioning or for existing SQL Server 2014 VMs.

Configurare le nuove macchine virtualiConfigure new VMs

Usare il portale di Azure per configurare il backup automatico quando si crea una nuova macchina virtuale di SQL Server 2014 nel modello di distribuzione di Resource Manager.Use the Azure portal to configure Automated Backup when you create a new SQL Server 2014 Virtual Machine in the Resource Manager deployment model.

Nel riquadro Impostazioni di SQL Server selezionare Backup automatico.In the SQL Server settings pane, select Automated backup. Nella seguente schermata del portale di Azure vengono mostrate le impostazioni del Backup automatico di SQL.The following Azure portal screenshot shows the SQL Automated Backup settings.

Configurazione del backup automatico di SQL nel Portale di Azure

Configurare le macchine virtuali esistentiConfigure existing VMs

Per le macchine virtuali SQL Server esistenti, selezionare la macchina virtuale SQL Server.For existing SQL Server virtual machines, select your SQL Server virtual machine. Quindi selezionare la sezione Configurazione di SQL Server delle Impostazioni della macchina virtuale.Then select the SQL Server configuration section of the VM Settings.

Backup automatico di SQL per le VM esistenti

Nel riquadro Configurazione di SQL Server fare clic sul pulsante Modifica nella sezione del backup automatico.In the SQL Server configuration pane, click the Edit button in the Automated backup section.

Configurare il backup automatico di SQL per le VM esistenti

Al termine, fare clic sul pulsante OK in fondo alle impostazioni di Configurazione di SQL Server per salvare le modifiche.When finished, click the OK button on the bottom of the SQL Server configuration settings 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.If you are enabling Automated Backup for the first time, Azure configures the SQL Server IaaS Agent in the background. Durante questo periodo, nel portale di Azure potrebbe non essere visualizzata l'informazione relativa alla configurazione del backup automatico.During this time, the Azure portal might not show that Automated Backup is configured. Attendere alcuni minuti per l'installazione e la configurazione dell'agente.Wait several minutes for the agent to be installed, configured. A questo punto, nel portale di Azure verranno visualizzate le nuove impostazioni.After that the Azure portal will reflect the new settings.

Nota

È inoltre possibile configurare il backup automatico mediante un modello. Per altre informazioni, vedere l'articolo relativo al modello di avvio rapido di Azure per il backup automatico.

Configurare con PowerShellConfigure with PowerShell

È possibile usare PowerShell per configurare Backup automatico.You can use PowerShell to configure Automated Backup. Prima di iniziare, è necessario eseguire queste operazioni:Before you begin, you must:

Installare l'estensione di SQL IaaSInstall the SQL IaaS Extension

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.If you provisioned a SQL Server virtual machine from the Azure portal, the SQL Server IaaS Extension should already be installed. È possibile verificarlo eseguendo il comando Get-AzureRmVM ed esaminando la proprietà Extensions.You can determine if it is installed for your VM by calling Get-AzureRmVM command and examining the Extensions property.

$vmname = "vmname"
$resourcegroupname = "resourcegroupname"

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

Se l'estensione Agente IaaS di SQL Server è installata, verrà visualizzata come "SqlIaaSAgent" o "SQLIaaSExtension".If the SQL Server IaaS Agent extension is installed, you should see it listed as “SqlIaaSAgent” or “SQLIaaSExtension”. La proprietà ProvisioningState per l'estensione deve inoltre mostrare lo stato "Succeeded".ProvisioningState for the extension should also show “Succeeded”.

Nel caso in cui l'estensione non sia installata o non ne sia stato eseguito il provisioning, è possibile installarla con il comando seguente.If it is not installed or failed to be provisioned, you can install it with the following command. Oltre al nome della macchina virtuale e al gruppo di risorse, è necessario anche specificare l'area ($region) in cui si trova la macchina virtuale.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-AzureRmVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "1.2" -Location $region

Importante

Se non è già stata eseguita, l'installazione dell'estensione riavvia il servizio SQL Server.

Verificare le impostazioni correntiVerify current settings

Se si è abilitato il backup automatico durante il provisioning, è possibile usare PowerShell per verificare la configurazione corrente.If you enabled automated backup during provisioning, you can use PowerShell to check your current configuration. Eseguire il comando Get-AzureRmVMSqlServerExtension ed esaminare la proprietà AutoBackupSettings:Run the Get-AzureRmVMSqlServerExtension command and examine the AutoBackupSettings property:

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

L'output dovrebbe essere simile al seguente:You should get output similar to the following:

Enable                      : False
EnableEncryption            : False
RetentionPeriod             : -1
StorageUrl                  : NOTSET
StorageAccessKey            : 
Password                    : 
BackupSystemDbs             : False
BackupScheduleType          : 
FullBackupFrequency         : 
FullBackupStartTime         : 
FullBackupWindowHours       : 
LogBackupFrequency          : 

Se l'output indica che Enable è impostato su False, è necessario abilitare il backup automatico.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.The good news is that you enable and configure Automated Backup in the same way. Per altre informazioni, vedere la sezione seguente.See the next section for this information.

Nota

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 automaticoConfigure Automated Backup

È possibile usare PowerShell per abilitare Backup automatico e per modificarne configurazione e comportamento in qualsiasi momento.You can use PowerShell to enable Automated Backup as well as to modify its configuration and behavior at any time.

In primo luogo, selezionare o creare un account di archiviazione per i file di backup.First, select or create a storage account for the backup files. Lo script seguente consente di selezionare un account di archiviazione o di crearne uno.The following script selects a storage account or creates it if it does not exist.

$storage_accountname = “yourstorageaccount”
$storage_resourcegroupname = $resourcegroupname

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

Nota

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.

Eseguire quindi il comando New-AzureVMSqlServerAutoBackupConfig per abilitare e configurare le impostazioni di Backup automatico per archiviare i backup nell'account di archiviazione di Azure.Then use the New-AzureRmVMSqlServerAutoBackupConfig command to enable and configure the Automated Backup settings to store backups in the Azure storage account. In questo esempio, i backup vengono conservati per 10 giorni.In this example, the backups are retained for 10 days. Il secondo comando, Set-AzureRmVMSqlServerExtension aggiorna la macchina virtuale di Azure specificata con queste impostazioni.The second command, Set-AzureRmVMSqlServerExtension, updates the specified Azure VM with these settings.

$autobackupconfig = New-AzureRmVMSqlServerAutoBackupConfig -Enable `
    -RetentionPeriodInDays 10 -StorageContext $storage.Context `
    -ResourceGroupName $storage_resourcegroupname

Set-AzureRmVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

Potrebbero essere necessari diversi minuti per installare e configurare l'agente IaaS di SQL Server.It could take several minutes to install and configure the SQL Server IaaS Agent.

Nota

Sono presenti altre impostazioni per New-AzureRmVMSqlServerAutoBackupConfig che si applicano solo a SQL Server 2016 e Automated Backup v2. SQL Server 2014 non supporta le seguenti impostazioni: BackupSystemDbs, BackupScheduleType, FullBackupFrequency, FullBackupStartHour, FullBackupWindowInHours e LogBackupFrequencyInMinutes. Se si tenta di configurare queste impostazioni in una macchina virtuale di SQL Server 2014, non si verificano errori ma le impostazioni non vengono applicate. Se si desidera usare queste impostazioni in una macchina virtuale di SQL Server 2016, vedere Backup automatico v2 per macchine virtuali SQL Server 2016 in Azure.

Per abilitare la crittografia, modificare lo script precedente in modo da passare il parametro EnableEncryption e una password (stringa sicura) per il parametro CertificatePassword.To enable encryption, modify the previous script to pass the EnableEncryption parameter along with a password (secure string) for the CertificatePassword parameter. Il seguente script abilita le impostazioni del backup automatico nell'esempio precedente e aggiunge la crittografia.The following script enables the Automated Backup settings in the previous example and adds encryption.

$password = "P@ssw0rd"
$encryptionpassword = $password | ConvertTo-SecureString -AsPlainText -Force

$autobackupconfig = New-AzureRmVMSqlServerAutoBackupConfig -Enable `
    -EnableEncryption -CertificatePassword $encryptionpassword `
    -RetentionPeriodInDays 10 -StorageContext $storage.Context `
    -ResourceGroupName $storage_resourcegroupname

Set-AzureRmVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

Per confermare l'applicazione delle impostazioni, verificare la configurazione di Backup automatico.To confirm your settings are applied, verify the Automated Backup configuration.

Disabilitare Backup automaticoDisable Automated Backup

Per disabilitare Backup automatico, eseguire lo stesso script senza il parametro -Enable per il comando New-AzureRmVMSqlServerAutoBackupConfig.To disable Automated Backup, run the same script without the -Enable parameter to the New-AzureRmVMSqlServerAutoBackupConfig command. L'assenza del parametro -Enable segnala il comando per disabilitare la funzionalità.The absence of the -Enable parameter signals the command to disable the feature. Come per l'installazione, la disabilitazione del backup automatico può richiedere alcuni minuti.As with installation, it can take several minutes to disable Automated Backup.

$autobackupconfig = New-AzureRmVMSqlServerAutoBackupConfig -ResourceGroupName $storage_resourcegroupname

Set-AzureRmVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

Script di esempioExample script

Lo script seguente fornisce un set di variabili da personalizzare per abilitare e configurare Backup automatico per la propria macchina virtuale.The following script provides a set of variables that you can customize to enable and configure Automated Backup for your VM. In questo caso, potrebbe essere necessario personalizzare lo script in base alle esigenze.In your case, you might need to customize the script based on your requirements. Ad esempio, potrebbe essere necessario apportare modifiche se si desidera disabilitare il backup dei database di sistema o abilitare la crittografia.For example, you would have to make changes if you wanted to disable the backup of system databases or enable encryption.

$vmname = "yourvmname"
$resourcegroupname = "vmresourcegroupname"
$region = “Azure region name such as EASTUS2”
$storage_accountname = “storageaccountname”
$storage_resourcegroupname = $resourcegroupname
$retentionperiod = 10

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

Set-AzureRmVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "1.2" -Location $region

# Creates/use a storage account to store the backups

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

# Configure Automated Backup settings

$autobackupconfig = New-AzureRmVMSqlServerAutoBackupConfig -Enable `
    -RetentionPeriodInDays $retentionperiod -StorageContext $storage.Context `
    -ResourceGroupName $storage_resourcegroupname

# Apply the Automated Backup settings to the VM

Set-AzureRmVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

MonitoraggioMonitoring

Per monitorare il Backup automatizzato in SQL Server 2014 esistono due opzioni principali.To monitor Automated Backup on SQL Server 2014, you have two main options. Poiché il Backup automatizzato usa la funzionalità di Backup gestito di SQL Server, le stesse tecniche di monitoraggio sono valide per entrambi.Because Automated Backup uses the SQL Server Managed Backup feature, the same monitoring techniques apply to both.

In primo luogo, è possibile eseguire il polling dello stato chiamando msdb.smart_admin.sp_get_backup_diagnostics.First, you can poll the status by calling msdb.smart_admin.sp_get_backup_diagnostics. Oppure eseguire una query della funzione con valori di tabella msdb.smart_admin.fn_get_health_status.Or query the msdb.smart_admin.fn_get_health_status table valued function.

Nota

Lo schema per il Backup gestito di SQL Server 2014 è msdb.smart_admin. In SQL Server 2016 questo è stato modificato in msdb.managed_backup e gli argomenti di riferimento usano questo schema più recente. Per SQL Server 2014, invece, è necessario continuare a usare lo schema smart_admin per tutti gli oggetti di Backup gestito.

È inoltre possibile sfruttare la funzionalità incorporata di posta elettronica database per le notifiche.Another option is to take advantage of the built-in Database Mail feature for notifications.

  1. Chiamare la stored precedure msdb.smart_admin.sp_set_parameter per assegnare un indirizzo di posta elettronica al parametro SSMBackup2WANotificationEmailIds.Call the msdb.smart_admin.sp_set_parameter stored procedure to assign an email address to the SSMBackup2WANotificationEmailIds parameter.
  2. Abilitare SendGrid per inviare i messaggi di posta elettronica dalla macchina virtuale di Azure.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.Use the SMTP server and user name to configure Database Mail. È possibile configurare la posta elettronica database in SQL Server Management Studio o con i comandi Transact-SQL.You can configure Database Mail in SQL Server Management Studio or with Transact-SQL commands. Per altre informazioni, vedere l'articolo sulla posta elettronica database.For more information, see Database Mail.
  4. Configurare SQL Server Agent per usare la posta elettronica database.Configure SQL Server Agent to use Database Mail.
  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.Verify that the SMTP port is allowed both through the local VM firewall and the network security group for the VM.

Passaggi successiviNext steps

Backup automatico configura backup gestito in Macchine virtuali di Azure.Automated Backup configures Managed Backup on Azure VMs. Pertanto è importante esaminare la documentazione per il backup gestito in SQL Server 2014.So it is important to review the documentation for Managed Backup on SQL Server 2014.

È 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.You can find additional backup and restore guidance for SQL Server on Azure VMs in the following article: Backup and Restore for SQL Server in Azure Virtual Machines.

Per informazioni sulle altre attività di automazione disponibili, vedere Estensione Agente IaaS di SQL Server.For information about other available automation tasks, see SQL Server IaaS Agent Extension.

Per altre informazioni sull'esecuzione di SQL Server nelle VM di Azure, vedere Panoramica di SQL Server nelle macchine virtuali di Azure.For more information about running SQL Server on Azure VMs, see SQL Server on Azure Virtual Machines overview.