Informationen zur SQL Server-Sicherung auf virtuellen Azure-ComputernAbout SQL Server Backup in Azure VMs

Azure Backup bietet eine streambasierte, spezialisierte Lösung zum Sichern von SQL Server-Instanzen, die auf Azure-VMs ausgeführt werden.Azure Backup offers a stream-based, specialized solution to back up SQL Server running in Azure VMs. Diese Lösung ist an den Vorteilen von Azure Backup ausgerichtet: Sicherungen ohne Infrastruktur, langfristige Speicherung und zentrale Verwaltung.This solution aligns with Azure Backup's benefits of zero-infrastructure backup, long-term retention, and central management. Außerdem bietet sie die folgenden Vorteile speziell für SQL Server:It additionally provides the following advantages specifically for SQL Server:

  1. Workloadabhängige Sicherungen, die alle Sicherungstypen unterstützen: vollständige, differenzielle und ProtokollsicherungenWorkload aware backups that support all backup types - full, differential, and log
  2. RPO (Recovery Point Objective) von 15 Minuten mit häufigen Protokollsicherungen15 minute RPO (recovery point objective) with frequent log backups
  3. Zeitpunktwiederherstellung von bis zu einer SekundePoint-in-time recovery up to a second
  4. Sicherung und Wiederherstellung einzelner DatenbankebenenIndividual database level backup and restore

Informationen zu den zurzeit unterstützten Sicherungs- und Wiederherstellungsszenarien finden Sie in der Unterstützungsmatrix.To view the backup and restore scenarios that we support today, refer to the support matrix.

SicherungsprozessBackup process

Die Lösung nutzt die nativen SQL-APIs, um Sicherungen Ihrer SQL-Datenbankinstanzen zu erstellen.This solution leverages the SQL native APIs to take backups of your SQL databases.

  • Nachdem Sie die SQL Server-VM angegeben haben, die Sie schützen und deren Datenbanken Sie abfragen möchten, installiert der Azure Backup-Dienst eine Erweiterung zur Workloadsicherung mit dem Namen AzureBackupWindowsWorkload auf dem virtuellen Computer.Once you specify the SQL Server VM that you want to protect and query for the databases in it, Azure Backup service will install a workload backup extension on the VM by the name AzureBackupWindowsWorkload extension.

  • Diese Erweiterung besteht aus einem Koordinator und einem SQL-Plug-In.This extension consists of a coordinator and a SQL plugin. Während der Koordinator für das Auslösen von Workflows für verschiedene Vorgänge wie Konfigurieren der Sicherung, Sicherung und Wiederherstellung zuständig ist, ist das Plug-In für den tatsächlichen Datenfluss verantwortlich.While the coordinator is responsible for triggering workflows for various operations like configure backup, backup and restore, the plugin is responsible for actual data flow.

  • Um die Datenbanken auf diesem virtuellen Computer ermitteln zu können, erstellt Azure Backup das Konto NT SERVICE\AzureWLBackupPluginSvc.To be able to discover databases on this VM, Azure Backup creates the account NT SERVICE\AzureWLBackupPluginSvc. Dieses Konto wird zum Sichern und Wiederherstellen verwendet und erfordert SQL-Systemadministratorberechtigungen.This account is used for backup and restore and requires SQL sysadmin permissions. Weil es sich beim Konto NT SERVICE\AzureWLBackupPluginSvc um ein virtuelles Dienstkonto handelt, ist keine Kennwortverwaltung erforderlich.The NT SERVICE\AzureWLBackupPluginSvc account is a Virtual Service Account, and so doesn't require any password management. Azure Backup verwendet das Konto NT AUTHORITY\SYSTEM für die Ermittlung von und Anfragen an Datenbanken. Für dieses Konto muss es also eine öffentliche Anmeldung in SQL geben.Azure Backup uses the NT AUTHORITY\SYSTEM account for database discovery/inquiry, so this account needs to be a public login on SQL. Wenn Sie den virtuellen SQL Server-Computer nicht über Azure Marketplace erstellt haben, erhalten Sie möglicherweise den Fehler UserErrorSQLNoSysadminMembership.If you didn't create the SQL Server VM from Azure Marketplace, you might receive an error UserErrorSQLNoSysadminMembership. Gehen Sie in diesem Fall wie folgt vor:If this occurs follow these instructions.

  • Sobald Sie die Konfiguration des Schutzes der ausgewählten Datenbanken auslösen, richtet der Sicherungsdienst den Koordinator mit den Sicherungszeitplänen und anderen Richtliniendetails ein, die die Erweiterung lokal auf dem virtuellen Computer zwischenspeichert.Once you trigger configure protection on the selected databases, the backup service sets up the coordinator with the backup schedules and other policy details, which the extension caches locally on the VM.

  • Zum geplanten Zeitpunkt kommuniziert der Koordinator mit dem Plug-In, und es startet das Streaming der Sicherungsdaten von der SQL Server-Instanz mit VDI.At the scheduled time, the coordinator communicates with the plugin and it starts streaming the backup data from the SQL server using VDI.

  • Weil das Plug-In die Daten direkt an den Recovery Services-Tresor sendet, ist kein Stagingspeicherort erforderlich.The plugin sends the data directly to the Recovery Services vault, thus eliminating the need for a staging location. Die Daten werden verschlüsselt und vom Azure Backup-Dienst in Speicherkonten gespeichert.The data is encrypted and stored by the Azure Backup service in storage accounts.

  • Wenn die Datenübertragung abgeschlossen ist, bestätigt der Koordinator den Commit mit dem Sicherungsdienst.When the data transfer is complete, coordinator confirms the commit with the backup service.

    Die Architektur von SQL Backup

VorbereitungBefore you start

Überprüfen Sie zunächst die folgenden Anforderungen:Before you start, verify the following requirements:

  1. Vergewissern Sie sich, dass in Azure eine SQL Server-Instanz ausgeführt wird.Make sure you have a SQL Server instance running in Azure. Im Marketplace können Sie schnell eine SQL Server-Instanz erstellen.You can quickly create a SQL Server instance in the marketplace.
  2. Informieren Sie sich über Funktionsaspekte und Unterstützung von Szenarien.Review the feature considerations and scenario support.
  3. Lesen Sie häufig gestellte Fragen zu diesem Szenario.Review common questions about this scenario.

Einrichten von Berechtigungen für virtuelle ComputerSet VM permissions

Wenn Sie die Ermittlung in einer SQL Server-Instanz ausführen, führt Azure Backup Folgendes aus:When you run discovery on a SQL Server, Azure Backup does the following:

  • Fügt die Erweiterung AzureBackupWindowsWorkload hinzu.Adds the AzureBackupWindowsWorkload extension.
  • Erstellt das Konto „NT SERVICE\AzureWLBackupPluginSvc“, um Datenbanken auf dem virtuellen Computer zu ermitteln.Creates an NT SERVICE\AzureWLBackupPluginSvc account to discover databases on the virtual machine. Dieses Konto wird zum Sichern und Wiederherstellen verwendet und erfordert Systemadministratorberechtigungen für SQL Server.This account is used for a backup and restore and requires SQL sysadmin permissions.
  • Ermittelt auf einer VM ausgeführte Datenbanken. Azure Backup verwendet das Konto NT AUTHORITY\SYSTEM.Discovers databases that are running on a VM, Azure Backup uses the NT AUTHORITY\SYSTEM account. Dieses Konto muss eine öffentliche Anmeldung in SQL Server ermöglichen.This account must be a public sign-in on SQL.

Wenn Sie die SQL Server-VM nicht in Azure Marketplace erstellt haben oder wenn Sie mit SQL Server 2008 oder 2008 R2 arbeiten, erhalten Sie möglicherweise die Fehlermeldung UserErrorSQLNoSysadminMembership.If you didn't create the SQL Server VM in Azure Marketplace or if you're on SQL 2008 or 2008 R2, you might receive a UserErrorSQLNoSysadminMembership error.

Informationen zur Erteilung von Berechtigungen bei Ausführung von SQL 2008 und 2008 R2 unter Windows 2008 R2 finden Sie hier.For giving permissions in the case of SQL 2008 and 2008 R2 running on Windows 2008 R2, refer to here.

Korrigieren Sie bei allen anderen Versionen die Berechtigungen wie folgt:For all other versions, fix permissions with the following steps:

  1. Verwenden Sie ein Konto mit SQL Server-Systemadministratorberechtigungen, um sich bei SQL Server Management Studio (SSMS) anzumelden.Use an account with SQL Server sysadmin permissions to sign in to SQL Server Management Studio (SSMS). Wenn Sie keine speziellen Berechtigungen benötigen, sollte die Windows-Authentifizierung funktionieren.Unless you need special permissions, Windows authentication should work.

  2. Öffnen Sie auf der SQL Server-Instanz den Ordner Sicherheit/Anmeldungen.On the SQL Server, open the Security/Logins folder.

    Öffnen von Ordner „Sicherheit/Anmeldungen“, um Konten anzuzeigen

  3. Klicken Sie mit der rechten Maustaste auf den Ordner Anmeldungen, und wählen Sie Neue Anmeldung aus.Right-click the Logins folder and select New Login. Wählen Sie in Anmeldung – Neu die Option Suche aus.In Login - New, select Search.

    Auswählen von „Suchen“ im Dialogfeld „Anmeldung – Neu“

  4. Das virtuelle Windows-Dienstkonto NT SERVICE\AzureWLBackupPluginSvc wurde bei der Registrierung des virtuellen Computers und der SQL-Ermittlungsphase erstellt.The Windows virtual service account NT SERVICE\AzureWLBackupPluginSvc was created during the virtual machine registration and SQL discovery phase. Geben Sie den Kontonamen ein, wie in Namen des auszuwählenden Objekts eingeben dargestellt.Enter the account name as shown in Enter the object name to select. Wählen Sie Namen überprüfen aus, um den Namen aufzulösen.Select Check Names to resolve the name. Klicken Sie auf OK.Select OK.

    Klicken auf „Namen überprüfen“, um den unbekannten Dienstnamen aufzulösen

  5. Stellen Sie in Serverrollen sicher, dass die Rolle sysadmin ausgewählt ist.In Server Roles, make sure the sysadmin role is selected. Klicken Sie auf OK.Select OK. Die erforderlichen Berechtigungen sollten jetzt vorhanden sein.The required permissions should now exist.

    Sicherstellen, dass die Serverrolle „Sysadmin“ ausgewählt ist

  6. Ordnen Sie nun die Datenbank dem Recovery Services-Tresor zu.Now associate the database with the Recovery Services vault. Klicken Sie im Azure-Portal in der Liste Geschützte Server mit der rechten Maustaste auf den fehlerhaften Server, und wählen Sie Datenbanken neu ermitteln aus.In the Azure portal, in the Protected Servers list, right-click the server that's in an error state > Rediscover DBs.

    Überprüfen der entsprechenden Serverberechtigungen

  7. Der Fortschritt kann im Bereich Benachrichtigungen verfolgt werden.Check progress in the Notifications area. Wenn die ausgewählten Datenbanken gefunden wurden, wird eine Erfolgsmeldung angezeigt.When the selected databases are found, a success message appears.

    Meldung über erfolgreiche Bereitstellung

Hinweis

Sind auf Ihrem SQL-Server mehrere Instanzen von SQL Server installiert, müssen Sie allen SQL-Instanzen Systemadministratorberechtigungen für das Konto NT Service\AzureWLBackupPluginSvc hinzufügen.If your SQL Server has multiple instances of SQL Server installed, then you must add sysadmin permission for NT Service\AzureWLBackupPluginSvc account to all SQL instances.

Erteilen der SQL Server-Berechtigung „sysadmin“ für SQL 2008 und SQL 2008 R2Give SQL sysadmin permissions for SQL 2008 and SQL 2008 R2

Fügen Sie der SQL Server-Instanz die Anmeldungen NT AUTHORITY\SYSTEM und NT Service\AzureWLBackupPluginSvc hinzu:Add NT AUTHORITY\SYSTEM and NT Service\AzureWLBackupPluginSvc logins to the SQL Server Instance:

  1. Wechseln Sie im Objekt-Explorer zur SQL Server-Instanz.Go the SQL Server Instance in the Object explorer.

  2. Navigieren Sie zu „Sicherheit -> Anmeldungen“.Navigate to Security -> Logins

  3. Klicken Sie mit der rechten Maustaste auf „Anmeldungen“, und wählen Sie Neue Anmeldung... aus.Right-click on the logins and select New Login…

    Neue Anmeldung mit SSMS

  4. Wechseln Sie zur Registerkarte „Allgemein“, und geben Sie NT AUTHORITY\SYSTEM als Anmelde-ID ein.Go to the General tab and enter NT AUTHORITY\SYSTEM as the Login Name.

    Anmelde-ID für SSMS

  5. Wechseln Sie zu Serverrollen, und wählen Sie die Rollen Öffentlich und sysadmin aus.Go to Server Roles and choose public and sysadmin roles.

    Auswählen von Rollen in SSMS

  6. Wechseln Sie zu Status.Go to Status. Erteilen Sie die Berechtigung zum Herstellen der Verbindung mit der Datenbank-Engine, und melden Sie sich als Aktiviert an.Grant the Permission to connect to database engine and Login as Enabled.

    Erteilen von Berechtigungen in SSMS

  7. Wählen Sie „OK“ aus.Select OK.

  8. Wiederholen Sie die gleiche Schrittreihenfolge (1-7 oben), um die Anmeldung „NT Service\AzureWLBackupPluginSvc“ zur SQL Server-Instanz hinzuzufügen.Repeat the same sequence of steps (1-7 above) to add NT Service\AzureWLBackupPluginSvc login to the SQL Server instance. Wenn die Anmeldung bereits vorhanden ist, stellen Sie sicher, dass sie die Serverrolle „sysadmin“ hat und ihr unter „Status“ die Berechtigung zum Herstellen der Verbindung mit der Datenbank-Engine erteilt und „Anmeldung“ auf „Aktiviert“ festgelegt wurde.If the login already exists, make sure it has the sysadmin server role and under Status it has Grant the Permission to connect to database engine and Login as Enabled.

  9. Führen Sie nach dem Erteilen der Berechtigung im Portal eine erneute Ermittlung von Datenbanken durch: Tresor -> Sicherungsinfrastruktur -> Workload in Azure VM:After granting permission, Rediscover DBs in the portal: Vault -> Backup Infrastructure -> Workload in Azure VM:

    Erneutes Ermitteln von Datenbanken im Azure-Portal

Alternativ können Sie die Erteilung der Berechtigungen automatisieren, indem Sie die folgenden PowerShell-Befehle im Administratormodus ausführen.Alternatively, you can automate giving the permissions by running the following PowerShell commands in admin mode. Der Instanzname ist standardmäßig auf MSSQLSERVER festgelegt.The instance name is set to MSSQLSERVER by default. Ändern Sie nötigenfalls das Argument mit dem Namen der Instanz im Skript:Change the instance name argument in script if need be:

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
}

Nächste SchritteNext steps