Automatische back-up voor virtuele SQL Server 2014-machines (Resource Manager)

Van toepassing op: SQL Server op Azure VM

Automatische back-up configureert automatisch Managed Backup naar Microsoft Azure voor alle bestaande en nieuwe databases op een Azure-VM met SQL Server 2014 Standard of Enterprise. Hiermee kunt u normale databaseback-ups configureren die gebruikmaken van duurzame Azure Blob Storage. Automatische back-up is afhankelijk van de IaaS-agentextensie (Infrastructure as a Service) van SQL Server.

Notitie

Azure heeft twee verschillende implementatiemodellen die u kunt gebruiken om resources te maken en ermee te werken: Azure Resource Manager en klassiek. Dit artikel is van toepassing op het gebruik van het Resource Manager-implementatiemodel. We bevelen het Resource Manager-implementatiemodel voor de meeste nieuwe implementaties, in plaats van het klassieke implementatiemodel.

Vereisten

Als u automatische back-up wilt gebruiken, moet u rekening houden met de volgende vereisten:

Besturingssysteem:

  • Windows Server 2012 en hoger

SQL Server-versie/-editie:

  • SQL Server 2014 Standard
  • SQL Server 2014 Enterprise

Notitie

Zie Geautomatiseerde back-up voor SQL Server 2016 voor SQL 2016 voor SQL 2016 en hoger.

Databaseconfiguratie:

  • Doelgebruikersdatabases moeten het volledige herstelmodel gebruiken. Systeemdatabases hoeven niet het volledige herstelmodel te gebruiken. Als u echter vereist dat er logboekback-ups worden gemaakt voor model of msdb, moet u het volledige herstelmodel gebruiken. Zie Back-up onder het volledige herstelmodel voor meer informatie over de impact van het volledige herstelmodel op back-ups.
  • De SQL Server-VM is geregistreerd bij de SQL IaaS Agent-extensie en de functie voor automatische back-up is ingeschakeld. Omdat geautomatiseerde back-ups afhankelijk zijn van de extensie, wordt automatische back-up alleen ondersteund voor doeldatabases van het standaardexemplaren of één benoemd exemplaar. Als er geen standaardexemplaren zijn en er meerdere benoemde exemplaren zijn, mislukt de SQL IaaS Agent-extensie en werkt automatische back-up niet.

Instellingen

In de volgende tabel worden de opties beschreven die kunnen worden geconfigureerd voor automatische back-up. De werkelijke configuratiestappen variëren, afhankelijk van of u de Azure-portal of Azure Windows PowerShell-opdrachten gebruikt. Automatische back-up maakt standaard gebruik van back-upcompressie en u kunt deze niet uitschakelen.

Instelling Bereik (standaard) Omschrijving
Automatische back-up In- en uitschakelen (uitgeschakeld) Automatische back-up in- of uitschakelen voor een Azure-VM met SQL Server 2014 Standard of Enterprise.
Bewaarperiode 1-90 dagen (90 dagen) Het aantal dagen dat een back-up moet worden bewaard.
Opslagaccount Azure-storageaccount Een Azure-opslagaccount dat moet worden gebruikt voor het opslaan van geautomatiseerde back-upbestanden in blobopslag. Er wordt op deze locatie een container gemaakt om alle back-upbestanden op te slaan. De naamconventie van het back-upbestand bevat de naam van de datum, tijd en computer.
Versleuteling In- en uitschakelen (uitgeschakeld) Hiermee schakelt u back-upversleuteling in of uit. Wanneer back-upversleuteling is ingeschakeld, bevinden de certificaten die worden gebruikt om de back-up te herstellen zich in het opgegeven opslagaccount in dezelfde automaticbackup container met dezelfde naamconventie. Als het wachtwoord wordt gewijzigd, wordt er een nieuw certificaat gegenereerd met dat wachtwoord, maar blijft het oude certificaat behouden om eerdere back-ups te herstellen.
Wachtwoord Wachtwoordtekst Een wachtwoord voor versleutelingssleutels. Dit is alleen vereist als versleuteling is ingeschakeld. Als u een versleutelde back-up wilt herstellen, moet u het juiste wachtwoord en het bijbehorende certificaat hebben dat is gebruikt op het moment dat de back-up werd gemaakt.

Nieuwe VM's configureren

Gebruik Azure Portal om geautomatiseerde back-up te configureren wanneer u een nieuwe virtuele SQL Server 2014-machine maakt in het Resource Manager-implementatiemodel.

Schuif op het tabblad SQL Server-instellingen omlaag naar Automatische back-up en selecteer Inschakelen. In de volgende Schermopname van Azure Portal ziet u de instellingen voor automatische back-up van SQL.

SQL Automated Backup configuration in the Azure portal

Bestaande VM's configureren

Voor bestaande SQL Server-VM's kunt u automatische back-ups in- en uitschakelen, de bewaarperiode wijzigen, het opslagaccount opgeven en versleuteling inschakelen vanuit Azure Portal.

Navigeer naar de resource van de virtuele SQL-machines voor uw virtuele SQL Server 2014-machine en selecteer vervolgens Back-ups.

SQL Automated Backup for existing VMs

Wanneer u klaar bent, selecteert u de knop Toepassen onderaan de pagina Back-ups om uw wijzigingen op te slaan.

Als u Automatische back-up voor het eerst inschakelt, configureert Azure de SQL Server IaaS-agent op de achtergrond. Gedurende deze tijd wordt in Azure Portal mogelijk niet weergegeven dat Automatische back-up is geconfigureerd. Wacht enkele minuten totdat de agent is geïnstalleerd en geconfigureerd. Daarna worden in Azure Portal de nieuwe instellingen weergegeven.

Notitie

U kunt automatische back-up ook configureren met behulp van een sjabloon. Zie de Azure-quickstartsjabloon voor automatische back-up voor meer informatie.

Configureren met PowerShell

U kunt PowerShell gebruiken om automatische back-up te configureren. Voordat u begint, moet u het volgende doen:

Notitie

In dit artikel wordt gebruikgemaakt van de Azure Az PowerShell-module. Dit is de aanbevolen PowerShell-module voor interactie met Azure. Raadpleeg Azure PowerShell installeren om aan de slag te gaan met de Az PowerShell-module. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Huidige instellingen controleren

Als u automatische back-ups hebt ingeschakeld tijdens het inrichten, kunt u PowerShell gebruiken om uw huidige configuratie te controleren. Voer de opdracht Get-AzVMSqlServerExtension uit en bekijk de eigenschap AutoBackup Instellingen:

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

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

De uitvoer moet er ongeveer als volgt uitzien:

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

Als uw uitvoer laat zien dat Inschakelen is ingesteld op False, moet u automatische back-up inschakelen. Het goede nieuws is dat u automatische back-up op dezelfde manier inschakelt en configureert. Zie de volgende sectie voor deze informatie.

Notitie

Als u de instellingen onmiddellijk na het aanbrengen van een wijziging controleert, is het mogelijk dat u de oude configuratiewaarden terugkrijgt. Wacht enkele minuten en controleer de instellingen opnieuw om ervoor te zorgen dat uw wijzigingen zijn toegepast.

Automatische back-up configureren

U kunt PowerShell gebruiken om automatische back-up in te schakelen en de configuratie en het gedrag ervan op elk gewenst moment te wijzigen.

Selecteer of maak eerst een opslagaccount voor de back-upbestanden. Het volgende script selecteert een opslagaccount of maakt het als het niet bestaat.

$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 }

Notitie

Automatische back-up biedt geen ondersteuning voor het opslaan van back-ups in Premium Storage, maar kan back-ups maken van VM-schijven die gebruikmaken van Premium Storage.

Als u een aangepaste container in het opslagaccount voor de back-ups wilt gebruiken, gebruikt u het volgende script om te controleren op de container of deze te maken als deze niet bestaat.

$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." `
}

Gebruik vervolgens het volgende script om de toegangssleutel voor het opslagaccount op te halen:

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

Gebruik vervolgens de opdracht Update-AzSqlVM om de instellingen voor automatische back-ups in te schakelen en te configureren voor het opslaan van back-ups in het Azure-opslagaccount. In dit voorbeeld worden de back-ups 10 dagen bewaard.

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingStorageContainerName $storage_container 

Het kan enkele minuten duren voordat de SQL Server IaaS-agent is geïnstalleerd en geconfigureerd.

Notitie

Er zijn andere instellingen voor Update-AzSqlVM* die alleen van toepassing zijn op SQL Server 2016 en Automatische back-up. SQL Server 2014 biedt geen ondersteuning voor de volgende instellingen: -AutoBackupSettingBackupSystemDb, -AutoBackupSettingBackupScheduleType, -AutoBackupSettingFullBackupFrequency, -AutoBackupSettingFullBackupStartTime, -AutoBackupSettingFullBackupWindowHour en -AutoBackupSettingLogBackupFrequency. Als u deze instellingen probeert te configureren op een virtuele SQL Server 2014-machine, is er geen fout, maar worden de instellingen niet toegepast. Als u deze instellingen wilt gebruiken op een virtuele SQL Server 2016-machine, raadpleegt u Automatische back-up voor virtuele SQL Server 2016 Azure-machines.

Als u versleuteling wilt inschakelen, wijzigt u het vorige script om de parameter -AutoBackupSettingEnableEncryption door te geven, samen met een wachtwoord (beveiligde tekenreeks) voor de parameter -AutoBackupSettingPassword . Met het volgende script worden de instellingen voor automatische back-up in het vorige voorbeeld ingeschakeld en worden versleuteling toegevoegd.

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

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingEnableEncryption `
-AutoBackupSettingPassword $encryptionpassword `
-AutoBackupSettingStorageContainerName $storage_container 

Controleer de automatische back-upconfiguratie om te bevestigen dat uw instellingen zijn toegepast.

Automatische back-up uitschakelen

Als u Automatische back-up wilt uitschakelen, voert u hetzelfde script uit met de parameter -AutoBackupSettingEnable ingesteld op $false in de opdracht Update-AzSqlVM . Door de waarde in te stellen op $false de functie is uitgeschakeld. Net als bij de installatie kan het enkele minuten duren voordat automatische back-up is uitgeschakeld.

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

Voorbeeldscript

Het volgende script bevat een set variabelen die u kunt aanpassen om automatische back-up in te schakelen en te configureren voor uw virtuele machine. In uw geval moet u het script mogelijk aanpassen op basis van uw vereisten. U moet bijvoorbeeld wijzigingen aanbrengen als u de back-up van systeemdatabases wilt uitschakelen of versleuteling wilt inschakelen.

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$region = "Azure region name such as EASTUS2"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"
$retentionperiod = 10

# 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 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod $retentionperiod `
-AutoBackupSettingStorageContainerName $storage_container 

Bewaking

Als u automatische back-up wilt bewaken op SQL Server 2014, hebt u twee hoofdopties. Omdat Automatische back-up gebruikmaakt van de functie beheerde back-up van SQL Server, zijn dezelfde bewakingstechnieken van toepassing op beide.

U kunt eerst de status peilen door msdb.smart_admin.sp_get_backup_diagnostics aan te roepen. Of voer een query uit op de tabelwaarde msdb.smart_admin.fn_get_health_status .

Notitie

Het schema voor beheerde back-up in SQL Server 2014 is msdb.smart_admin. In SQL Server 2016 is dit gewijzigd in msdb.managed_backup en gebruiken de naslagonderwerpen dit nieuwere schema. Maar voor SQL Server 2014 moet u het smart_admin schema blijven gebruiken voor alle beheerde back-upobjecten.

Een andere optie is om te profiteren van de ingebouwde Database Mail-functie voor meldingen.

  1. Roep de opgeslagen procedure msdb.smart_admin.sp_set_parameter aan om een e-mailadres toe te wijzen aan de parameter SSMBackup2WANotificationEmailIds .
  2. Enable SendGrid to send the emails from the Azure VM.
  3. Gebruik de SMTP-server en gebruikersnaam om Database Mail te configureren. U kunt Database Mail configureren in SQL Server Management Studio of met Transact-SQL-opdrachten. Zie Database Mail voor meer informatie.
  4. Configureer SQL Server Agent voor het gebruik van Database Mail.
  5. Controleer of de SMTP-poort is toegestaan via de firewall van de lokale VM en de netwerkbeveiligingsgroep voor de VIRTUELE machine.

Volgende stappen

Automatische back-up configureert Beheerde back-up op Azure-VM's. Het is dus belangrijk om de documentatie voor Beheerde back-up op SQL Server 2014 te bekijken.

U vindt aanvullende richtlijnen voor back-up en herstel voor SQL Server op Azure-VM's in het volgende artikel: Back-up maken en herstellen voor SQL Server op virtuele Azure-machines.

Zie de SQL Server IaaS Agent-extensie voor meer informatie over andere beschikbare automatiseringstaken.

Zie het overzicht van SQL Server op virtuele Azure-machines voor meer informatie over het uitvoeren van SQL Server op virtuele Azure-machines.