Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Backup erbjuder en strömbaserad, specialiserad lösning för att säkerhetskopiera SQL Server som körs på virtuella Azure-datorer. Den här lösningen överensstämmer med Azure Backups fördelar med säkerhetskopiering utan infrastruktur, långsiktig kvarhållning och central hantering. Det ger dessutom följande fördelar specifikt för SQL Server:
- Arbetsbelastningsmedvetna säkerhetskopior som stöder alla säkerhetskopieringstyper – fullständig, differentiell och logg
- RPO på 15 minuter (mål för återställningspunkt) med frekventa loggbackuper.
- Återställning till tidpunkt upp till en sekund
- Säkerhetskopiering och återställning på enskild databasnivå
Information om hur du visar de säkerhetskopierings- och återställningsscenarier som vi stöder i dag finns i supportmatrisen.
Säkerhetskopieringsprocess
Den här lösningen använder sql-interna API:er för att göra säkerhetskopior av dina SQL-databaser.
När du har angett den virtuella SQL Server-dator som du vill skydda och fråga efter databaserna i den installerar Azure Backup-tjänsten ett tillägg för säkerhetskopiering av arbetsbelastningar på den virtuella datorn med namntillägget
AzureBackupWindowsWorkload
.Det här tillägget består av en koordinator och ett SQL-plugin-program. Koordinatorn ansvarar för att utlösa arbetsflöden för olika åtgärder som att konfigurera säkerhetskopiering, säkerhetskopiering och återställning, men plugin-programmet ansvarar för det faktiska dataflödet.
För att kunna identifiera databaser på den här virtuella datorn skapar Azure Backup kontot
NT SERVICE\AzureWLBackupPluginSvc
. Det här kontot används för säkerhetskopiering och återställning och kräver SQL sysadmin-behörigheter. KontotNT SERVICE\AzureWLBackupPluginSvc
är ett virtuellt tjänstkonto och kräver därför ingen lösenordshantering. Azure Backup använderNT AUTHORITY\SYSTEM
kontot för databasidentifiering/undersökning, så det här kontot måste vara en offentlig inloggning i SQL. Om du inte skapade den virtuella SQL Server-datorn från Azure Marketplace kan du få felet UserErrorSQLNoSysadminMembership. Om detta inträffar följer du dessa instruktioner.När du har utlöst konfigurerat skydd på de valda databaserna konfigurerar säkerhetskopieringstjänsten koordinatorn med säkerhetskopieringsscheman och annan principinformation, som tillägget cachelagrar lokalt på den virtuella datorn.
Vid den schemalagda tidpunkten kommunicerar koordinatorn med plugin-programmet och börjar strömma säkerhetskopierade data från SQL-servern med VDI(Virtual Device Interface).
Plugin-programmet skickar data direkt till Recovery Services-valvet, vilket eliminerar behovet av en mellanlagringsplats. Data krypteras och lagras av Azure Backup-tjänsten på lagringskonton.
När dataöverföringen är klar bekräftar koordinatorn "commit" med backup-tjänsten.
Innan du börjar
Kontrollera följande krav innan du börjar:
- Kontrollera att du har en SQL Server-instans som körs i Azure. Du kan snabbt skapa en SQL Server-instans på marketplace.
- Granska funktionsöverväganden och scenariostöd.
- Läs vanliga frågor om det här scenariot.
Ange behörigheter för virtuella datorer
När du kör identifiering på en SQL Server gör Azure Backup följande:
- Lägger till Tillägget AzureBackupWindowsWorkload.
- Skapar ett NT SERVICE\AzureWLBackupPluginSvc-konto för att identifiera databaser på den virtuella datorn. Det här kontot används för säkerhetskopiering och återställning och kräver SQL-sysadmin-behörigheter.
- Identifierar databaser som körs på en virtuell dator. Azure Backup använder kontot NT AUTHORITY\SYSTEM. Det här kontot måste vara en offentlig inloggning i SQL.
Om du inte skapade den virtuella SQL Server-datorn på Azure Marketplace eller om du använder SQL 2008 eller 2008 R2 kan du få ett UserErrorSQLNoSysadminMembership-fel .
Om du vill ge behörigheter för SQL 2008 och 2008 R2 som körs på Windows 2008 R2 läser du här.
För alla andra versioner kan du åtgärda behörigheter med följande steg:
Använd ett konto med SQL Server-sysadmin-behörigheter för att logga in på SQL Server Management Studio (SSMS). Om du inte behöver särskilda behörigheter bör Windows-autentisering fungera.
Öppna mappen Säkerhet/inloggningar på SQL Server.
Högerklicka på mappen Inloggningar och välj Ny inloggning. I Inloggning – Ny väljer du Sök.
Det virtuella Windows-tjänstkontot NT SERVICE\AzureWLBackupPluginSvc skapades under registreringsfasen för den virtuella datorn och SQL-identifieringsfasen. Ange kontonamnet enligt beskrivningen i Ange det objektnamn som ska väljas. Välj Kontrollera namn för att lösa namnet. Välj OK.
I Serverroller kontrollerar du att sysadmin-rollen är markerad. Välj OK. De behörigheter som krävs bör nu finnas.
Om SQL Server-instansen ingår i en Always-On tillgänglighetsgrupp (AG) kontrollerar du att NT AUTHORITY\SYSTEM-kontot har behörigheten VIEW SERVER STATE aktiverat.
Associera databasen med Recovery Services-valvet. I Azure-portalen högerklickar du på den server som har feltillståndet > i listan Skyddade servrar.
Kontrollera förloppet i området Meddelanden . När de valda databaserna hittas visas ett meddelande om att det har lyckats.
Anmärkning
Om SQL Server har flera instanser av SQL Server installerade måste du lägga till sysadmin-behörighet för NT Service\AzureWLBackupPluginSvc-kontot till alla SQL-instanser.
Ge SQL sysadmin-behörigheter för SQL 2008 och SQL 2008 R2
Lägg till NT AUTHORITY\SYSTEM - och NT Service\AzureWLBackupPluginSvc-inloggningar till SQL Server-instansen:
Gå till SQL Server-instansen i Objektutforskaren.
Gå till Säkerhet –> Inloggningar
Högerklicka på inloggningarna och välj Ny inloggning...
Gå till fliken Allmänt och ange NT AUTHORITY\SYSTEM som inloggningsnamn.
Gå till Serverroller och välj offentliga roller och sysadmin-roller .
Gå till Status. Bevilja behörighet att ansluta till databasmotorn och Logga in som Aktiverad.
Välj OK.
Upprepa samma stegsekvens (1–7 ovan) för att lägga till NT Service\AzureWLBackupPluginSvc-inloggning till SQL Server-instansen. Om inloggningen redan finns kontrollerar du att den har serverrollen sysadmin och under Status har den Bevilja behörighet att ansluta till databasmotorn och Logga in som Aktiverad.
Efter att ha gett tillstånd, återupptäck DBs i portalen: Vault –> Hantera –> Infrastruktur för säkerhetskopiering –> Arbetsbelastning på Azure VM:
Du kan också automatisera att ge behörigheterna genom att köra följande PowerShell-kommandon i administratörsläge. Instansnamnet är inställt på MSSQLSERVER som standard. Ändra argumentet för instansnamn i skriptet om det behövs.
param(
[Parameter(Mandatory=$false)]
[string] $InstanceName = "MSSQLSERVER"
)
if ($InstanceName -eq "MSSQLSERVER")
{
$fullInstance = $env:COMPUTERNAME # In case it is the default SQL Server Instance
}
else
{
$fullInstance = $env:COMPUTERNAME + "\" + $InstanceName # In case of named instance
}
try
{
sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT Service\AzureWLBackupPluginSvc', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
Write-Host "An error occurred:"
Write-Host $_.Exception|format-list -force
}
try
{
sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT AUTHORITY\SYSTEM', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
Write-Host "An error occurred:"
Write-Host $_.Exception|format-list -force
}
Konfigurera samtidiga säkerhetskopieringar
Nu kan du konfigurera säkerhetskopieringar för att spara SQL Server-återställningspunkter och loggar både i en lokal lagring och ett Recovery Services-valv samtidigt.
Följ dessa steg för att konfigurera samtidiga säkerhetskopieringar:
Gå till platsen
C:\Program Files\Azure Workload Backup\bin\plugins
och skapa sedan filen PluginConfigSettings.json, om den inte finns.Lägg till kommaavgränsade nyckelvärdeentiteter med nycklar
EnableLocalDiskBackupForBackupTypes
ochLocalDiskBackupFolderPath
till JSON-filen.Under
EnableLocalDiskBackupForBackupTypes
listar du de säkerhetskopieringstyper som du vill lagra lokalt.Om du till exempel vill lagra
Full och Log säkerhetskopior, ange . Om du bara vill lagra loggsäkerhetskopiorna nämner du ["Log"]
.Under
LocalDiskBackupFolderPath
anger du sökvägen till den lokala mappen. Se till att du använder det dubbla snedstrecket framåt när du nämner sökvägen i JSON-filen.Om den önskade sökvägen för lokal säkerhetskopiering till exempel är
E:\LocalBackup
anger du sökvägen i JSON somE:\\LocalBackup
.Den slutliga JSON-filen bör visas som:
{ "EnableLocalDiskBackupForBackupTypes": ["Log"], "LocalDiskBackupFolderPath": "E:\\LocalBackup", }
Om det finns andra förifyllda poster i JSON-filen lägger du till ovanstående två poster längst ned i JSON-filen strax före den avslutande klammerparentesen.
För att ändringarna ska börja gälla omedelbart i stället för vanlig en timme går du till TaskManager>Services, högerklickar på AzureWLbackupPluginSvc och väljer Stoppa.
Försiktighet
Den här åtgärden avbryter alla pågående säkerhetskopieringsjobb.
Namngivningskonventionen för den lagrade säkerhetskopieringsfilen och mappstrukturen för den blir
{LocalDiskBackupFolderPath}\{SQLInstanceName}\{DatabaseName}
.Om du till exempel har en databas
Contoso
under SQL-instansenMSSQLSERVER
finns filerna i .E:\LocalBackup\MSSQLSERVER\Contoso
Namnet på filen är ,
VDI device set guid
som används för säkerhetskopieringsåtgärden.Kontrollera om målplatsen under
LocalDiskBackupFolderPath
har läs- och skrivbehörighet förNT Service\AzureWLBackupPluginSvc
.Anmärkning
Högerklicka på mappen för en mapp på de lokala vm-diskarna och konfigurera de behörigheter som krävs för
NT Service\AzureWLBackupPluginSvc
på fliken Säkerhet .Om du använder ett nätverk eller en SMB-resurs konfigurerar du behörigheterna genom att köra PowerShell-cmdletarna nedan från en användarkonsol som redan har behörighet att komma åt resursen:
$cred = Get-Credential New-SmbGlobalMapping -RemotePath <FileSharePath> -Credential $cred -LocalPath <LocalDrive>: -FullAccess @("<Comma Separated list of accounts>") -Persistent $true
Exempel:
$cred = Get-Credential New-SmbGlobalMapping -RemotePath \\i00601p1imsa01.file.core.windows.net\rsvshare -Credential $cred -LocalPath Y: -FullAccess @("NT AUTHORITY\SYSTEM","NT Service\AzureWLBackupPluginSvc") -Persistent $true
Nästa steg
- Lär dig mer om att säkerhetskopiera SQL Server-databaser.
- Lär dig mer om att återställa säkerhetskopierade SQL Server-databaser.
- Lär dig mer om att hantera säkerhetskopierade SQL Server-databaser.