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
ellermsdb
må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.
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.
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:
- Ladda ned och installera den senaste Azure PowerShell.
- Öppna Windows PowerShell och associera det med ditt konto med kommandot Anslut-AzAccount.
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.
- Anropa den lagrade proceduren msdb.smart_admin.sp_set_parameter för att tilldela en e-postadress till parametern SSMBackup2WANotificationEmailIds .
- Aktivera SendGrid för att skicka e-postmeddelandena från den virtuella Azure-datorn.
- 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.
- Konfigurera SQL Server-agenten så att den använder Database Mail.
- 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.