Automatiserad säkerhetskopiering för virtuella SQL Server 2014-datorer (Resource Manager)

Gäller för:SQL Server på en virtuell Azure-dator

Automatisk säkerhetskopiering konfigurerar automatiskt hanterad säkerhetskopiering till Microsoft Azure för alla befintliga och nya databaser på en virtuell Azure-dator som kör SQL Server 2014 Standard eller Enterprise. På så sätt kan du konfigurera regelbundna säkerhetskopior av databaser som använder beständig Azure Blob Storage. Automatisk säkerhetskopiering beror på IaaS-agenttillägget (SQL Server Infrastructure as a Service).

Kommentar

Azure har två olika distributionsmodeller som du kan använda för att skapa och arbeta med resurser: Azure Resource Manager och klassisk. Den här artikeln beskriver användningen av Resource Manager-distributionsmodellen. Vi rekommenderar Resource Manager-distributionsmodellen för nya distributioner i stället för den klassiska distributionsmodellen.

Förutsättningar

Om du vill använda automatisk säkerhetskopiering bör du tänka på följande krav:

Operativsystem:

  • Windows Server 2012 och senare

SQL Server-version/utgåva:

  • SQL Server 2014 Standard
  • SQL Server 2014 Enterprise

Kommentar

Information om SQL 2016 och senare finns i Automatiserad säkerhetskopiering för SQL Server 2016.

Databaskonfiguration:

  • Målanvändardatabaser måste använda den fullständiga återställningsmodellen. Systemdatabaser behöver inte använda den fullständiga återställningsmodellen. Men om du behöver loggsäkerhetskopior för model eller msdbmåste du använda den fullständiga återställningsmodellen. Mer information om effekten av den fullständiga återställningsmodellen på säkerhetskopior finns i Säkerhetskopiering under den fullständiga återställningsmodellen.
  • Den virtuella SQL Server-datorn har registrerats med SQL IaaS Agent-tillägget och funktionen för automatisk säkerhetskopiering är aktiverad. Eftersom automatisk säkerhetskopiering är beroende av tillägget stöds automatisk säkerhetskopiering endast på måldatabaser från standardinstansen eller en enda namngiven instans. Om det inte finns någon standardinstans och flera namngivna instanser misslyckas SQL IaaS-agenttillägget och automatisk säkerhetskopiering fungerar inte.

Inställningar

I följande tabell beskrivs de alternativ som kan konfigureras för automatisk säkerhetskopiering. De faktiska konfigurationsstegen varierar beroende på om du använder Azure-portalen eller Azure Windows PowerShell-kommandon. Observera att automatisk säkerhetskopiering använder säkerhetskopieringskomprimering som standard och att du inte kan inaktivera den.

Inställning Intervall (standard) Description
Automatisk säkerhetskopiering Aktivera/inaktivera (inaktiverad) Aktiverar eller inaktiverar automatisk säkerhetskopiering för en virtuell Azure-dator som kör SQL Server 2014 Standard eller Enterprise.
Djurhållningsperioden 1–90 dagar (90 dagar) Antal dagar för att behålla en säkerhetskopia.
Lagringskonto Azure-lagringskonto Ett Azure Storage-konto som ska användas för att lagra automatiserade säkerhetskopieringsfiler i bloblagring. En container skapas på den här platsen för att lagra alla säkerhetskopierade filer. Namngivningskonventionen för säkerhetskopieringsfiler innehåller datum, tid och datornamn.
Kryptering Aktivera/inaktivera (inaktiverad) Aktiverar eller inaktiverar säkerhetskopieringskryptering. När säkerhetskopieringskryptering är aktiverat finns de certifikat som används för att återställa säkerhetskopian i det angivna lagringskontot i samma automaticbackup container med samma namngivningskonvention. Om lösenordet ändras genereras ett nytt certifikat med det lösenordet, men det gamla certifikatet finns kvar för att återställa tidigare säkerhetskopior.
Lösenord Lösenordstext Ett lösenord för krypteringsnycklar. Detta krävs endast om kryptering är aktiverat. För att kunna återställa en krypterad säkerhetskopia måste du ha rätt lösenord och relaterat certifikat som användes när säkerhetskopieringen gjordes.

Konfigurera nya virtuella datorer

Använd Azure-portalen för att konfigurera automatisk säkerhetskopiering när du skapar en ny virtuell SQL Server 2014-dator i Resource Manager-distributionsmodellen.

På fliken SQL Server-inställningar rullar du ned till Automatisk säkerhetskopiering och väljer Aktivera. Följande skärmbild av Azure-portalen visar inställningarna för automatisk säkerhetskopiering av SQL.

SQL Automated Backup configuration in the Azure portal

Konfigurera befintliga virtuella datorer

För befintliga virtuella SQL Server-datorer kan du aktivera och inaktivera automatiserade säkerhetskopieringar, ändra kvarhållningsperioden, ange lagringskontot och aktivera kryptering från Azure-portalen.

Gå till resursen för virtuella SQL-datorer för din virtuella SQL Server 2014-dator och välj sedan Säkerhetskopieringar.

SQL Automated Backup for existing VMs

När du är klar väljer du knappen Använd längst ned på sidan Säkerhetskopior för att spara ändringarna.

Om du aktiverar automatisk säkerhetskopiering för första gången konfigurerar Azure SQL Server IaaS-agenten i bakgrunden. Under den här tiden kanske Azure-portalen inte visar att automatisk säkerhetskopiering har konfigurerats. Vänta några minuter tills agenten har installerats och konfigurerats. Därefter återspeglar Azure-portalen de nya inställningarna.

Kommentar

Du kan också konfigurera automatisk säkerhetskopiering med hjälp av en mall. Mer information finns i Azure-snabbstartsmall för automatiserad säkerhetskopiering.

Konfigurera med PowerShell

Du kan använda PowerShell för att konfigurera automatisk säkerhetskopiering. Innan du börjar måste du:

Kommentar

Den här artikeln använder Azure Az PowerShell-modulen, som är den rekommenderade PowerShell-modulen för interaktion med Azure. För att komma igång med Az PowerShell kan du läsa artikeln om att installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Verifiera nuvarande inställningar

Om du har aktiverat automatisk säkerhetskopiering under etableringen kan du använda PowerShell för att kontrollera din aktuella konfiguration. Kör kommandot Get-AzVMSqlServerExtension och granska egenskapen AutoBackup Inställningar:

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

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

Du bör få utdata som liknar följande:

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

Om dina utdata visar att Aktivera är inställt på Falskt måste du aktivera automatisk säkerhetskopiering. Den goda nyheten är att du aktiverar och konfigurerar automatisk säkerhetskopiering på samma sätt. Se nästa avsnitt för den här informationen.

Kommentar

Om du kontrollerar inställningarna direkt efter att du har gjort en ändring är det möjligt att du får tillbaka de gamla konfigurationsvärdena. Vänta några minuter och kontrollera inställningarna igen för att kontrollera att ändringarna har tillämpats.

Konfigurera automatisk säkerhetskopiering

Du kan använda PowerShell för att aktivera automatisk säkerhetskopiering samt ändra dess konfiguration och beteende när som helst.

Välj eller skapa först ett lagringskonto för säkerhetskopieringsfilerna. Följande skript väljer ett lagringskonto eller skapar det om det inte finns.

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

Kommentar

Automatisk säkerhetskopiering stöder inte lagring av säkerhetskopior i Premium Storage, men det kan ta säkerhetskopior från virtuella datordiskar som använder Premium Storage.

Om du vill använda en anpassad container i lagringskontot för säkerhetskopiorna använder du följande skript för att söka efter containern eller skapa den om den inte finns.

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

Använd sedan följande skript för att hämta åtkomstnyckeln för lagringskontot:

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

Använd sedan kommandot Update-AzSqlVM för att aktivera och konfigurera inställningarna för automatisk säkerhetskopiering för att lagra säkerhetskopior i Azure Storage-kontot. I det här exemplet är säkerhetskopiorna inställda på att behållas i 10 dagar.

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

Det kan ta flera minuter att installera och konfigurera SQL Server IaaS-agenten.

Kommentar

Det finns andra inställningar för Update-AzSqlVM* som endast gäller för SQL Server 2016 och automatisk säkerhetskopiering. SQL Server 2014 stöder inte följande inställningar: -AutoBackupSettingBackupSystemDb, -AutoBackupSettingBackupScheduleType, -AutoBackupSettingFullBackupFrequency, -AutoBackupSettingFullBackupStartTime, -AutoBackupSettingFullBackupWindowHour och -AutoBackupSettingLogBackupFrequency. Om du försöker konfigurera de här inställningarna på en virtuell SQL Server 2014-dator finns det inget fel, men inställningarna tillämpas inte. Om du vill använda de här inställningarna på en virtuell SQL Server 2016-dator kan du läsa Automatiserad säkerhetskopiering för virtuella SQL Server 2016 Azure-datorer.

Om du vill aktivera kryptering ändrar du föregående skript för att skicka parametern -AutoBackupSettingEnableEncryption tillsammans med ett lösenord (säker sträng) för parametern -AutoBackupSettingPassword . Följande skript aktiverar inställningarna för automatisk säkerhetskopiering i föregående exempel och lägger till kryptering.

$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 

Kontrollera konfigurationen av automatisk säkerhetskopiering för att bekräfta att inställningarna tillämpas.

Inaktivera automatisk säkerhetskopiering

Om du vill inaktivera automatisk säkerhetskopiering kör du samma skript med parametern -AutoBackupSettingEnable inställd på $false i kommandot Update-AzSqlVM . Genom att ange värdet till $false inaktiveras funktionen. Precis som med installationen kan det ta flera minuter att inaktivera automatisk säkerhetskopiering.

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

Exempelskript

Följande skript innehåller en uppsättning variabler som du kan anpassa för att aktivera och konfigurera automatisk säkerhetskopiering för den virtuella datorn. I ditt fall kan du behöva anpassa skriptet baserat på dina krav. Du måste till exempel göra ändringar om du vill inaktivera säkerhetskopieringen av systemdatabaser eller aktivera kryptering.

$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 

Övervakning

Om du vill övervaka automatisk säkerhetskopiering på SQL Server 2014 har du två huvudsakliga alternativ. Eftersom automatisk säkerhetskopiering använder funktionen hanterad säkerhetskopiering av SQL Server gäller samma övervakningstekniker för båda.

Först kan du avsöka statusen genom att anropa msdb.smart_admin.sp_get_backup_diagnostics. Eller fråga funktionen msdb.smart_admin.fn_get_health_status table valued.

Kommentar

Schemat för Hanterad säkerhetskopiering i SQL Server 2014 är msdb.smart_admin. I SQL Server 2016 ändrades detta till msdb.managed_backup och referensavsnitten använder det här nyare schemat. Men för SQL Server 2014 måste du fortsätta att använda schemat smart_admin för alla hanterade säkerhetskopieringsobjekt.

Ett annat alternativ är att dra nytta av den inbyggda funktionen Database Mail för meddelanden.

  1. Anropa den lagrade proceduren msdb.smart_admin.sp_set_parameter för att tilldela en e-postadress till parametern SSMBackup2WANotificationEmailIds .
  2. Aktivera SendGrid för att skicka e-postmeddelandena från den virtuella Azure-datorn.
  3. Använd SMTP-servern och användarnamnet för att konfigurera Database Mail. Du kan konfigurera Database Mail i SQL Server Management Studio eller med Transact-SQL-kommandon. Mer information finns i Database Mail.
  4. Konfigurera SQL Server-agenten så att den använder Database Mail.
  5. Kontrollera att SMTP-porten tillåts både via den lokala vm-brandväggen och nätverkssäkerhetsgruppen för den virtuella datorn.

Nästa steg

Automatisk säkerhetskopiering konfigurerar hanterad säkerhetskopiering på virtuella Azure-datorer. Därför är det viktigt att granska dokumentationen för hanterad säkerhetskopiering på SQL Server 2014.

Du hittar ytterligare vägledning för säkerhetskopiering och återställning för SQL Server på virtuella Azure-datorer i följande artikel: Säkerhetskopiering och återställning för SQL Server på virtuella Azure-datorer.

Information om andra tillgängliga automatiseringsuppgifter finns i SQL Server IaaS-agenttillägg.

Mer information om hur du kör SQL Server på virtuella Azure-datorer finns i Översikt över SQL Server på virtuella Azure-datorer.