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.Automated Backup works with SQL Server 2014. Se si usa SQL Server 2016, è possibile usare il backup automatico versione 2 per eseguire il backup dei database.If you are using SQL Server 2016, you can use Automated Backup v2 to back up your databases. 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).For more information, see Automated Backup v2 for SQL Server 2016 Azure Virtual Machines.

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.

Modello di distribuzione di Azure:Azure deployment model:

  • Gestione risorseResource Manager

Azure PowerShell:Azure PowerShell:

Nota

Il backup automatico si basa sull'estensione dell'agente IaaS di SQL Server.Automated Backup relies on the SQL Server IaaS Agent Extension. Per impostazione predefinita, le attuali immagini della raccolta di macchine virtuali di SQL aggiungono questa estensione.Current SQL virtual machine gallery images add this extension by default. Per altre informazioni, vedere Estensione Agente IaaS di SQL Server.For more information, see SQL Server IaaS Agent Extension.

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.

Configurazione nel PortaleConfiguration 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.

Nuove VMNew 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 pannello Impostazioni di SQL Server selezionare Backup automatico.In the SQL Server settings blade, select Automated backup. Nella seguente schermata del Portale di Azure viene mostrato il pannello Backup automatico di SQL .The following Azure portal screenshot shows the SQL Automated Backup blade.

Configurazione del backup automatico di SQL nel Portale di Azure

Per il contesto, vedere l'argomento completo sul provisioning di una macchina virtuale di SQL Server in Azure.For context, see the complete topic on provisioning a SQL Server virtual machine in Azure.

VM esistentiExisting 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. Dopodiché, selezionare la sezione Configurazione di SQL Server del pannello Impostazioni.Then select the SQL Server configuration section of the Settings blade.

Backup automatico di SQL per le VM esistenti

Nel pannello Configurazione di SQL Server fare clic sul pulsante Modifica nella sezione dei backup automatici.In the SQL Server configuration blade, 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 al pannello Configurazione di SQL Server per salvare le modifiche.When finished, click the OK button on the bottom of the SQL Server configuration blade 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.You can also configure Automated Backup using a template. Per altre informazioni, vedere l'articolo relativo al modello di avvio rapido di Azure per il backup automatico.For more information, see Azure quickstart template for Automated Backup.

Configurazione con PowerShellConfiguration 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

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.If you check the settings immediately after making a change, it is possible that you will get back the old configuration values. Attendere alcuni minuti e verificare nuovamente le impostazioni per assicurarsi che siano state applicate le modifiche.Wait a few minutes and check the settings again to make sure that your changes were applied.

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.Automated Backup does not support storing backups in premium storage, but it can take backups from VM disks which use Premium Storage.

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, viene impostata su 10 giorni la conservazione dei backup.In this example, the backups are set to be 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.There are other settings for New-AzureRmVMSqlServerAutoBackupConfig that apply only to SQL Server 2016 and Automated Backup v2. SQL Server 2014 non supporta le seguenti impostazioni: BackupSystemDbs, BackupScheduleType, FullBackupFrequency, FullBackupStartHour, FullBackupWindowInHours e LogBackupFrequencyInMinutes.SQL Server 2014 does not support the following settings: BackupSystemDbs, BackupScheduleType, FullBackupFrequency, FullBackupStartHour, FullBackupWindowInHours, and 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.If you attempt to configure these settings on a SQL Server 2014 virtual machine, there is no error, but the settings do not get applied. 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.If you want to use these settings on a SQL Server 2016 virtual machine, see Automated Backup v2 for SQL Server 2016 Azure Virtual Machines.

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

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 per comprendere il comportamento e le implicazioni.So it is important to review the documentation for Managed Backup to understand the behavior and implications.

È possibile trovare ulteriori indicazioni sul backup e sul ripristino per SQL Server in macchine virtuali di Azure nell'argomento 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 topic: 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.