Over SQL Server-back-ups in virtuele Azure-machines
Azure Backup biedt een op stream gebaseerde, gespecialiseerde oplossing voor het maken van back-ups van SQL Server die worden uitgevoerd in Azure-VM's. Deze oplossing is afgestemd op de voordelen van Azure Backup van back-up zonder infrastructuur, langetermijnretentie en centraal beheer. Daarnaast biedt het de volgende voordelen specifiek voor SQL Server:
- Workloadbewuste back-ups die ondersteuning bieden voor alle back-uptypen: volledig, differentieel en logboek
- RPO van 15 minuten (herstelpuntdoelstelling) met frequente logboekback-ups
- Herstel naar een bepaald tijdstip tot een seconde
- Back-up en herstel van afzonderlijke databaseniveau
Notitie
Back-up op basis van momentopnamen voor SQL-databases in Azure VM is nu in preview. Deze unieke aanbieding combineert de goedheid van momentopnamen, wat leidt tot een betere RTO en lage impact op de server, samen met de voordelen van frequente logboekback-ups voor een lage RPO. Schrijf ons voor query's/toegang op AskAzureBackupTeam@microsoft.com.
Als u de back-up- en herstelscenario's wilt bekijken die momenteel worden ondersteund, raadpleegt u de ondersteuningsmatrix.
Back-upproces
Deze oplossing maakt gebruik van de systeemeigen SQL-API's om back-ups van uw SQL-databases te maken.
Zodra u de SQL Server VM hebt opgegeven die u wilt beveiligen en query's hebt uitgevoerd voor de databases in de vm, installeert Azure Backup service een extensie voor back-ups van workloads op de VM met de naamextensie
AzureBackupWindowsWorkload
.Deze extensie bestaat uit een coördinator en een SQL-invoegtoepassing. Hoewel de coördinator verantwoordelijk is voor het activeren van werkstromen voor verschillende bewerkingen, zoals het configureren van back-up, back-up en herstel, is de invoegtoepassing verantwoordelijk voor de werkelijke gegevensstroom.
Als u databases op deze VM wilt detecteren, maakt Azure Backup het account
NT SERVICE\AzureWLBackupPluginSvc
. Dit account wordt gebruikt voor back-up en herstel en vereist SQL sysadmin-machtigingen. HetNT SERVICE\AzureWLBackupPluginSvc
account is een virtueel serviceaccount en vereist dus geen wachtwoordbeheer. Azure Backup gebruikt hetNT AUTHORITY\SYSTEM
account voor databasedetectie/-aanvraag, dus dit account moet een openbare aanmelding in SQL zijn. Als u de SQL Server-VM niet hebt gemaakt vanuit de Azure Marketplace, ontvangt u mogelijk het foutbericht UserErrorSQLNoSysadminMembership. Volg in dit geval deze instructies.Zodra u beveiliging configureren voor de geselecteerde databases hebt geactiveerd, stelt de back-upservice de coördinator in met de back-upschema's en andere beleidsdetails, die de extensie lokaal op de vm opslaat.
Op het geplande tijdstip communiceert de coördinator met de invoegtoepassing en begint deze met het streamen van de back-upgegevens van de SQL-server met behulp van VDI.
De invoegtoepassing verzendt de gegevens rechtstreeks naar de Recovery Services-kluis, waardoor een faseringslocatie niet meer nodig is. De gegevens worden versleuteld en opgeslagen door de Azure Backup-service in opslagaccounts.
Wanneer de gegevensoverdracht is voltooid, bevestigt de coördinator de doorvoer met de back-upservice.
Voordat u begint
Controleer de volgende vereisten voordat u begint:
- Zorg ervoor dat er een SQL Server-exemplaar wordt uitgevoerd in Azure. U kunt snel een SQL Server-exemplaar maken in de marketplace.
- Bekijk de functieoverwegingen en ondersteuning voor scenario's.
- Lees de veelgestelde vragen over dit scenario.
VM-machtigingen instellen
Wanneer u detectie uitvoert op een SQL Server, doet Azure Backup het volgende:
- Voegt de extensie AzureBackupWindowsWorkload toe.
- Hiermee maakt u een NT SERVICE\AzureWLBackupPluginSvc-account om databases op de virtuele machine te detecteren. Dit account wordt gebruikt voor een back-up en herstel en vereist SQL sysadmin-machtigingen.
- Hiermee worden databases gedetecteerd die worden uitgevoerd op een virtuele machine, Azure Backup het account NT AUTHORITY\SYSTEM gebruikt. Dit account moet een openbare aanmelding in SQL zijn.
Als u de SQL Server VM niet hebt gemaakt in Azure Marketplace of als u SQL 2008 of 2008 R2 gebruikt, wordt mogelijk de fout UserErrorSQLNoSysadminMembership weergegeven.
Raadpleeg hier voor het verlenen van machtigingen in het geval van SQL 2008 en 2008 R2 die worden uitgevoerd op Windows 2008 R2.
Voor alle andere versies herstelt u machtigingen met de volgende stappen:
Meld u bij SQL Server Management Studio (SSMS) aan met een account met systeembeheerdersrechten voor SQL Server. Windows-verificatie zou moeten werken, tenzij u speciale machtigingen nodig hebt.
Open de map Security/Logins op de SQL-server.
Klik met de rechtermuisknop op de map Aanmeldingen en selecteer Nieuwe aanmelding. In Aanmelding - Nieuw selecteert u Zoeken.
Het virtuele Windows-serviceaccount NT SERVICE\AzureWLBackupPluginSvc is gemaakt tijdens de registratie van de virtuele machine en de SQL-detectiefase. Geef de accountnaam op, zoals wordt weergegeven in Objectnaam invoeren die moet worden geselecteerd. Selecteer Namen controleren om de naam te herleiden. Selecteer OK.
Controleer of in Serverrollen de rol sysadmin is geselecteerd. Selecteer OK. De vereiste machtigingen moeten nu bestaan.
Koppel de database nu aan de Recovery Services-kluis. Klik in de Azure Portal in de lijst Beveiligde servers met de rechtermuisknop op de server met de foutstatus >DB's opnieuw detecteren.
Controleer de voortgang in het gebied Meldingen. Wanneer de geselecteerde databases zijn gevonden, wordt er een slagingsbericht weergegeven.
Notitie
Als uw SQL Server meerdere exemplaren van SQL Server heeft geïnstalleerd, moet u sysadmin-machtiging voor het NT Service\AzureWLBackupPluginSvc-account toevoegen aan alle SQL-exemplaren.
SQL sysadmin-machtigingen geven voor SQL 2008 en SQL 2008 R2
Voeg NT AUTHORITY\SYSTEM en NT Service\AzureWLBackupPluginSvc-aanmeldingen toe aan het SQL Server-exemplaar:
Ga naar de SQL Server-instantie in de Objectverkenner.
Navigeer naar Beveiliging -> Aanmeldingen
Klik met de rechtermuisknop op de aanmeldingen en selecteer Nieuwe aanmelding...
Ga naar het tabblad Algemeen en voer NT AUTHORITY\SYSTEM in als aanmeldingsnaam.
Ga naar Serverfuncties en kies openbare en systeembeheerdersrollen .
Ga naar Status. Verdeel de machtiging om verbinding te maken met de database-engine en meld u aan als Ingeschakeld.
Selecteer OK.
Herhaal dezelfde reeks stappen (1-7 hierboven) om NT Service\AzureWLBackupPluginSvc-aanmelding toe te voegen aan het SQL Server-exemplaar. Als de aanmelding al bestaat, controleert u of deze de serverrol sysadmin heeft en onder Status de optie Machtiging verlenen om verbinding te maken met de database-engine en Aanmelden als Ingeschakeld.
Nadat u de machtiging hebt verleend, kunt u DB's opnieuw ontdekken in de portal: Kluis -> Back-upinfrastructuur -> Workload in Azure VM:
U kunt het verlenen van machtigingen ook automatiseren door de volgende PowerShell-opdrachten uit te voeren in de beheermodus. De naam van het exemplaar is standaard ingesteld op MSSQLSERVER. Wijzig indien nodig het argument instantienaam in het script.
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
}
Gelijktijdige back-ups configureren
U kunt nu back-ups configureren om de SQL Server-herstelpunten en logboeken tegelijkertijd op te slaan in een lokale opslag en Recovery Services-kluis.
Voer de volgende stappen uit om gelijktijdige back-ups te configureren:
Ga naar de
C:\Program Files\Azure Workload Backup\bin\plugins
locatie en maak het bestand PluginConfigSettings.json, als dit niet aanwezig is.Voeg de entiteiten met door komma's gescheiden sleutelwaarden, met sleutels
EnableLocalDiskBackupForBackupTypes
enLocalDiskBackupFolderPath
toe aan het JSON-bestand.Vermeld onder
EnableLocalDiskBackupForBackupTypes
de back-uptypen die u lokaal wilt opslaan.Als u bijvoorbeeld de volledige back-ups en logboekback-ups wilt opslaan, vermeldt u .
["Full", "Log"]
Als u alleen de logboekback-ups wilt opslaan, vermeldt u["Log"]
.Vermeld onder
LocalDiskBackupFolderPath
het pad naar de lokale map. Zorg ervoor dat u de dubbele slash gebruikt tijdens het vermelden van het pad in het JSON-bestand.Als het voorkeurspad voor lokale back-up bijvoorbeeld is
E:\LocalBackup
, vermeldt u het pad in JSON alsE:\\LocalBackup
.De uiteindelijke JSON moet er als volgt uitzien:
{ "EnableLocalDiskBackupForBackupTypes": ["Log"], "LocalDiskBackupFolderPath": "E:\\LocalBackup", }
Als het JSON-bestand andere vooraf ingevulde vermeldingen bevat, voegt u de bovenstaande twee vermeldingen toe onder aan het JSON-bestand vlak voor de afsluitende accolade.
Ga naar TaskManager>Services, klik met de rechtermuisknop op AzureWLbackupPluginSvc en selecteer Stoppen om de wijzigingen onmiddellijk van kracht te laten worden in plaats van een normaal uur.
Waarschuwing
Met deze actie worden alle lopende back-uptaken geannuleerd.
De naamgevingsconventie van het opgeslagen back-upbestand en de mapstructuur ervan worden
{LocalDiskBackupFolderPath}\{SQLInstanceName}\{DatabaseName}
.Als u bijvoorbeeld een database
Contoso
onder het SQL-exemplaarMSSQLSERVER
hebt, bevinden de bestanden zich inE:\LocalBackup\MSSQLSERVER\Contoso
.De naam van het bestand is de
VDI device set guid
, die wordt gebruikt voor de back-upbewerking.Controleer of de doellocatie onder
LocalDiskBackupFolderPath
lees- en schrijfmachtigingen heeft voorNT Service\AzureWLBackupPluginSvc
.Notitie
Voor een map op de lokale VM-schijven klikt u met de rechtermuisknop op de map en configureert u de vereiste machtigingen voor
NT Service\AzureWLBackupPluginSvc
op het tabblad Beveiliging .Als u een netwerk- of SMB-share gebruikt, configureert u de machtigingen door de onderstaande PowerShell-cmdlets uit te voeren vanuit een gebruikersconsole die al toegang heeft tot de share:
$cred = Get-Credential New-SmbGlobalMapping -RemotePath <FileSharePath> -Credential $cred -LocalPath <LocalDrive>: -FullAccess @("<Comma Separated list of accounts>") -Persistent $true
Voorbeeld:
$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
Volgende stappen
- Meer informatie over het maken van back-ups van SQL Server databases.
- Meer informatie over het herstellen van SQL Server-databases vanuit back-up.
- Meer informatie over het beheren van SQL Server-databases vanuit back-up.