Automatisierte Sicherung für virtuelle Azure-Computer (Resource Manager)

Gilt für:SQL Server auf Azure-VM

Die automatisierte Sicherung konfiguriert automatisch die verwaltete Sicherung für Microsoft Azure für alle vorhandenen und neuen Datenbanken auf einer Azure-VM, auf der die Standard-, Enterprise- oder Developer-Version von SQL Server 2016 oder höher ausgeführt wird. Dies bietet Ihnen die Möglichkeit, reguläre Datenbanksicherungen zu konfigurieren, die permanenten Azure Blob Storage-Speicher nutzen. Das automatisierte Sichern basiert auf der Erweiterung für den SQL Server-Infrastructure-as-a-Service (IaaS)-Agent.

Voraussetzungen

Um die automatisierte Sicherung verwenden zu können, müssen die folgenden Voraussetzungen erfüllt sein:

Betriebssystem:

  • Windows Server 2012 R2 oder höher

SQL Server-Version/-Edition:

  • SQL Server 2016 oder höher: Developer, Standard oder Enterprise

Hinweis

Für SQL Server 2014 finden Sie die Informationen unter Automatisierte Sicherung für SQL Server 2014-VMs (Resource Manager).

Datenbankkonfiguration:

  • Zielbenutzerdatenbanken müssen das vollständige Wiederherstellungsmodell verwenden. Für Systemdatenbanken muss nicht das vollständige Wiederherstellungsmodell verwendet werden. Wenn Sie allerdings Protokollsicherungen für model oder msdb benötigen, müssen Sie das vollständige Wiederherstellungsmodell verwenden. Weitere Informationen zu den Auswirkungen des vollständigen Wiederherstellungsmodells auf Sicherungen finden Sie unter Sichern beim vollständigen Wiederherstellungsmodell.
  • Die SQL Server-VM wurde bei der Erweiterung für den SQL-IaaS-Agent registriert, und das Feature Automatisierte Sicherung ist aktiviert. Da die Automatisierte Sicherung von der Erweiterung abhängt, wird die Automatisierte Sicherung nur für Zieldatenbanken von der Standardinstanz oder für eine einzelne benannte Instanz unterstützt. Wenn keine Standardinstanz und mehrere benannte Instanzen vorhanden sind, kann die Erweiterung für den SQL-IaaS-Agent nicht ausgeführt werden, und die Automatisierte Sicherung funktioniert nicht.

Einstellungen

In der folgenden Tabelle werden die Optionen beschrieben, die für die automatisierte Sicherung konfiguriert werden können. Die tatsächlichen Konfigurationsschritte variieren abhängig davon, ob Sie das Azure-Portal oder Azure Windows PowerShell-Befehle verwenden. Bei der Automatisierten Sicherung wird standardmäßig die Sicherungskomprimierung verwendet und kann nicht deaktiviert werden.

Basic Settings

Einstellung Bereich (Standard) BESCHREIBUNG
Automatisierte Sicherung Aktivieren/Deaktivieren (deaktiviert) Aktiviert oder deaktiviert die automatisierte Sicherung für eine Azure-VM mit SQL Server 2016 oder höher Developer, Standard oder Enterprise.
Aufbewahrungszeitraum 1 bis 90 Tage (90 Tage) Die Anzahl von Tagen, für die Sicherungen aufbewahrt werden.
Speicherkonto Azure-Speicherkonto Ein Azure-Speicherkonto, mit dem Dateien der automatisierten Sicherung im Blob-Speicher gespeichert werden. An diesem Speicherort wird ein Container zum Speichern aller Sicherungsdateien erstellt. Die Namenskonvention für die Sicherungsdatei enthält das Datum, die Uhrzeit sowie die Datenbank-GUID.
Verschlüsselung Aktivieren/Deaktivieren (deaktiviert) Aktiviert oder deaktiviert die Sicherungsverschlüsselung. Wenn die Sicherungsverschlüsselung aktiviert ist, befinden sich die Zertifikate zum Wiederherstellen der Sicherung im angegebenen Speicherkonto im gleichen automaticbackup-Container (mit der gleichen Namenskonvention). Wenn das Kennwort geändert wird, wird ein neues Zertifikat mit diesem Kennwort generiert, das alte Zertifikat bleibt jedoch zum Wiederherstellen vorheriger Sicherungen erhalten.
Kennwort Kennworttext Ein Kennwort für Verschlüsselungsschlüssel. Dieses Kennwort ist nur erforderlich, wenn die Verschlüsselung aktiviert ist. Um eine verschlüsselte Sicherung wiederherzustellen, benötigen Sie das richtige Kennwort und das zugehörige Zertifikat, das beim Erstellen der Sicherung verwendet wurde.

Erweiterte Einstellungen

Einstellung Bereich (Standard) BESCHREIBUNG
System Database Backups (Systemdatenbanksicherungen) Aktivieren/Deaktivieren (deaktiviert) Ist dieses Feature aktiviert, werden auch die Systemdatenbanken master, msdb und model gesichert. Vergewissern Sie sich bei den Datenbanken msdb und model, dass sie sich im vollständigen Wiederherstellungsmodus befinden, wenn Sie Protokollsicherungen erstellen möchten. Für master werden nie Protokollsicherungen erstellt, und für tempdb werden gar keine Sicherungen erstellt.
Sicherungszeitplan Manuell/Automatisiert (automatisch) Der Sicherungszeitplan wird standardmäßig automatisch auf der Grundlage des Protokollwachstums festgelegt. Bei einem manuellen Sicherungszeitplan kann der Benutzer das gewünschte Zeitfenster für Sicherungen angeben. In diesem Fall werden Sicherungen ausschließlich gemäß dem angegebenen Intervall und während des angegebenen Zeitfensters eines bestimmten Tags durchgeführt.
Full backup frequency (Intervall für vollständige Sicherungen) Täglich/Wöchentlich Intervall für vollständige Sicherungen. In beiden Fällen werden vollständige Sicherungen während des nächsten geplanten Zeitfensters gestartet. Bei Verwendung der wöchentlichen Option können sich die Sicherungen über mehrere Tage erstrecken, bis alle Datenbanken erfolgreich gesichert wurden.
Full backup start time (Startzeit für vollständige Sicherungen) 00:00–23:00 (01:00) Die Startzeit eines bestimmten Tags, an dem eine vollständige Sicherung stattfinden kann.
Full backup time window (Zeitfenster für vollständige Sicherungen) 1–23 Stunden (1 Stunde) Das Zeitfenster eines bestimmten Tags, an dem eine vollständige Sicherung stattfinden kann.
Log backup frequency (Intervall für Protokollsicherungen) 5–60 Minuten (60 Minuten) Intervall für Protokollsicherungen.

Grundlegendes zum Intervall für vollständige Sicherungen

Es ist wichtig, den Unterschied zwischen täglichen und wöchentlichen vollständigen Sicherungen zu verstehen. Betrachten Sie die folgenden beiden Beispielszenarien.

Szenario 1: Wöchentliche Sicherungen

Sie verfügen über einen virtuellen SQL Server-Computer mit einer Reihe großer Datenbanken.

Am Montag aktivieren Sie die automatisierte Sicherung mit den folgenden Einstellungen:

  • Sicherungszeitplan: Manuell
  • Häufigkeit der vollständigen Sicherung: Wöchentlich
  • Startzeit für vollständige Sicherung: 01:00
  • Zeitfenster für vollständige Sicherung: 1 Stunde

Das nächste verfügbare Sicherungszeitfenster ist also am Dienstag ab 1 Uhr für eine Stunde. Zu dieser Zeit beginnt die automatisierte Sicherung damit, Ihre Datenbanken nacheinander zu sichern. In diesem Szenario sind Ihre Datenbanken so groß, dass die vollständige Sicherung nur für die ersten Datenbanken abgeschlossen werden kann. Nach einer Stunde wurden also noch nicht alle Datenbanken gesichert.

In diesem Fall beginnt die automatisierte Sicherung am nächsten Tag (Mittwoch, ab 1 Uhr für eine Stunde) damit, die restlichen Datenbanken zu sichern. Sollten dabei nicht alle Datenbanken gesichert werden können, wird am nächsten Tag zur gleichen Zeit ein erneuter Versuch gestartet. Dies wird fortgesetzt, bis alle Datenbanken erfolgreich gesichert wurden.

Am nächsten Dienstag beginnt die automatisierte Sicherung dann wieder mit der Sicherung aller Datenbanken.

Dieses Szenario zeigt, dass sich die Aktivität der automatisierten Sicherung auf das angegebene Zeitfenster beschränkt und jede Datenbank einmal pro Woche gesichert wird. Dies zeigt auch, dass sich Sicherungen über mehrere Tage erstrecken können, falls nicht alle Sicherungen an einem einzelnen Tag abgeschlossen werden können.

Szenario 2: Tägliche Sicherungen

Sie verfügen über einen virtuellen SQL Server-Computer mit einer Reihe großer Datenbanken.

Am Montag aktivieren Sie die automatisierte Sicherung mit den folgenden Einstellungen:

  • Sicherungszeitplan: Manuell
  • Häufigkeit der vollständigen Sicherung: Täglich
  • Startzeit für vollständige Sicherung: 22:00
  • Zeitfenster für vollständige Sicherung: 6 Stunden

Das nächste verfügbare Sicherungszeitfenster ist also am Montag ab 10 Uhr für sechs Stunden. Zu dieser Zeit beginnt die automatisierte Sicherung damit, Ihre Datenbanken nacheinander zu sichern.

Am Dienstag wird dann ab 10 Uhr erneut für sechs Stunden eine vollständige Sicherung aller Datenbanken durchgeführt.

Wichtig

Sicherungen werden in jedem Intervall sequenziell durchgeführt. Planen Sie für Instanzen mit einer großen Anzahl von Datenbanken das Sicherungsintervall mit ausreichend Zeit, um alle Sicherungen zu ermöglichen. Wenn Sicherungen innerhalb des angegebenen Intervalls nicht abgeschlossen werden können, werden möglicherweise einige Sicherungen übersprungen, und die Zeit zwischen den Sicherungen für eine einzelne Datenbank ist möglicherweise höher als die konfigurierte Sicherungsintervallzeit, was sich negativ auf die Restore Point Objective (RPO) auswirken könnte.

Konfigurieren neuer VMs

Verwenden Sie das Azure-Portal zum Konfigurieren der automatisierten Sicherung, wenn Sie einen neuen virtuellen Computer mit SQL Server 2016 oder höher im Resource Manager-Bereitstellungsmodell erstellen.

Wählen Sie auf der Registerkarte SQL Server-Einstellungen unter Automatisierte Sicherung die Option Aktivieren aus. Wenn Sie die Automatisierte Sicherung aktivieren, können Sie folgende Einstellungen konfigurieren:

  • Aufbewahrungszeitraum für Sicherungen (bis zu 90 Tage)
  • Speicherkonto und Speichercontainer, die für Sicherungen verwendet werden
  • Verschlüsselungsoption und Kennwort für Sicherungen
  • Sichern von Systemdatenbanken
  • Konfigurieren des Sicherungszeitplans

Wählen Sie Aktivieren aus, um die Sicherung zu verschlüsseln. Geben Sie dann das Kennwortan. Azure erstellt ein Zertifikat zum Verschlüsseln der Sicherungen und verwendet das angegebene Kennwort, um das Zertifikat zu schützen.

Wählen Sie Speichercontainer auswählen aus, um den Container anzugeben, in dem Ihre Sicherungen gespeichert werden sollen.

Standardmäßig wird der Zeitplan automatisch festgelegt. Allerdings können Sie durch Auswahl von Manuell auch einen eigenen Zeitplan erstellen. Damit können Sie die Sicherungshäufigkeit, das Zeitfenster für die Sicherung und die Protokollsicherungshäufigkeit in Minuten konfigurieren.

Auf dem folgenden Screenshot von Azure-Portal sehen Sie die Einstellungen für die Automatisierte Sicherung, wenn Sie eine neue SQL Server-VM erstellen.

Automated Backup configuration in the Azure portal

Konfigurieren vorhandener VMs

Für vorhandene virtuelle SQL Server-Computer navigieren Sie zur SQL-VM-Ressource und wählen dann Sicherungen aus, um Ihre Automatisierte Sicherung zu konfigurieren.

Wählen Sie Aktivieren aus, um Ihre Einstellungen für die automatisierte Sicherung zu konfigurieren.

Sie können den Aufbewahrungszeitraum (bis zu 90 Tage), den Container für das Speicherkonto, in dem Sie Ihre Sicherungen speichern möchten, sowie die Verschlüsselung und den Sicherungszeitplan konfigurieren. Der Zeitplan ist standardmäßig automatisiert.

Automated Backup for existing VMs

Wenn Sie einen eigenen Sicherungszeitplan festlegen möchten, wählen Sie Manuell aus, und konfigurieren Sie die Sicherungshäufigkeit (unabhängig davon, ob Systemdatenbanken gesichert werden sollen) und das Intervall für die Sicherung des Transaktionsprotokolls in Minuten.

Select manual to configure your own backup schedule

Wählen Sie abschließend die Schaltfläche Übernehmen am unteren Rand der Einstellungenseite Sicherungen aus, um Ihre Änderungen zu speichern.

Falls Sie die Automatisierte Sicherung zum ersten Mal aktivieren, konfiguriert Azure den SQL Server-IaaS-Agent im Hintergrund. Im Azure-Portal wird währenddessen u.U. nicht angezeigt, dass die automatisierte Sicherung konfiguriert wird. Warten Sie einige Minuten, bis der Agent installiert und konfiguriert wurde. Danach werden die neuen Einstellungen im Azure-Portal angezeigt.

Konfigurieren mithilfe von PowerShell

Die automatisierte Sicherung kann mithilfe von PowerShell konfiguriert werden. Führen Sie zur Vorbereitung folgende Schritte aus:

Hinweis

In diesem Artikel wird das Azure Az PowerShell-Modul verwendet. Dieses PowerShell-Modul wird für die Interaktion mit Azure empfohlen. Informationen zu den ersten Schritten mit dem Az PowerShell-Modul finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Installieren der Erweiterung für SQL Server-IaaS

Wenn Sie einen virtuellen SQL Server-Computer über das Azure-Portal bereitgestellt haben, müsste die SQL Server-IaaS-Erweiterung bereits installiert sein. Indem Sie den Befehl Get-AzVM ausführen und sich die Eigenschaft Extensions ansehen, können Sie ermitteln, ob dies für Ihre VM bereits der Fall ist.

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

(Get-AzVM -Name $vmname -ResourceGroupName $resourcegroupname).Extensions 

Wenn die SQL Server-IaaS-Agent-Erweiterung installiert ist, sollte diese als „SqlIaaSAgent“ oder „SQLIaaSExtension“ aufgeführt sein. Außerdem sollte für die Erweiterung unter ProvisioningState der Zustand „Succeeded“ angezeigt werden.

Wenn die Erweiterung nicht installiert ist oder bei der Bereitstellung ein Fehler aufgetreten ist, können Sie sie mit dem folgenden Befehl installieren. Neben dem Namen des virtuellen Computers und der Ressourcengruppe müssen Sie auch die Region ( $region) angeben, in der sich Ihr virtueller Computer befindet.

$region = "EASTUS2"
Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "2.0" -Location $region 

Überprüfen der aktuellen Einstellungen

Wenn Sie die automatisierte Sicherung bei der Bereitstellung aktiviert haben, können Sie über PowerShell Ihre aktuelle Konfiguration überprüfen. Führen Sie den Befehl Get-AzVMSqlServerExtension aus, und sehen Sie sich die Eigenschaft AutoBackupSettings an:

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

Die Ausgabe sollte in etwa wie folgt aussehen:

Enable                      : True
EnableEncryption            : False
RetentionPeriod             : 30
StorageUrl                  : https://test.blob.core.windows.net/
StorageAccessKey            :  
Password                    : 
BackupSystemDbs             : False
BackupScheduleType          : Manual
FullBackupFrequency         : WEEKLY
FullBackupStartTime         : 2
FullBackupWindowHours       : 2
LogBackupFrequency          : 60

Wenn laut der Ausgabe Enable auf False festgelegt ist, müssen Sie die automatisierte Sicherung aktivieren. Die gute Nachricht: Die Vorgehensweise zum Aktivieren der automatisierten Sicherung unterscheidet sich nicht von der Vorgehensweise zum Konfigurieren. Entsprechende Informationen finden Sie im nächsten Abschnitt.

Hinweis

Wenn Sie eine Änderung vorgenommen haben und die Einstellungen direkt danach überprüfen, werden unter Umständen noch die alten Konfigurationswerte zurückgegeben. Warten Sie einige Minuten, und überprüfen Sie die Einstellungen dann erneut, um sich zu vergewissern, dass die Änderungen angewendet wurden.

Konfigurieren der automatisierten Sicherung

Mithilfe von PowerShell können Sie die automatisierte Sicherung nicht nur aktivieren, sondern auch jederzeit ihre Konfiguration und ihr Verhalten ändern.

Wählen Sie zunächst ein Speicherkonto für die Sicherungsdateien aus, oder erstellen Sie eines. Das folgende Skript wählt ein Speicherkonto aus. Ist kein Speicherkonto vorhanden, wird eines erstellt.

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

Hinweis

Die automatisierte Sicherung unterstützt zwar nicht das Speichern von Sicherungen in Storage Premium, kann aber Sicherungen von VM-Datenträgern erstellen, die Storage Premium verwenden.

Wenn Sie einen benutzerdefinierten Container im Speicherkonto für die Backups verwenden möchten, verwenden Sie das folgende Skript, um nach dem Container zu suchen oder ihn zu erstellen, wenn er nicht existiert.

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

Verwenden Sie dann das folgende Skript, um den Zugriffsschlüssel für das Speicherkonto abzurufen:

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

Verwenden Sie dann den Befehl Update-AzSqlVM, um die Einstellungen der automatisierten Sicherung so zu konfigurieren, dass Sicherungen in dem Azure-Speicherkonto gespeichert werden. In diesem Beispiel ist für die Sicherungen eine Aufbewahrungsdauer von zehn Tagen festgelegt. Systemdatenbanksicherungen sind aktiviert. Vollständige Sicherungen werden jeden Samstag (wöchentlich) ab 20:00 Uhr innerhalb eines zweistündigen Zeitfensters durchgeführt. Für Protokollsicherungen ist ein 30-minütiges Intervall geplant.

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly 
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb

Die Installation und Konfiguration des SQL Server-IaaS-Agents kann mehrere Minuten in Anspruch nehmen.

Um die Verschlüsselung zu aktivieren, ändern Sie das vorherige Skript, um den -AutoBackupSettingEnableEncryption-Parameter und ein Kennwort (sichere Zeichenfolge) für den -AutoBackupSettingPassword-Parameter zu übergeben. Das folgende Skript aktiviert die Einstellungen der automatisierten Sicherung im vorherigen Beispiel und fügt die Verschlüsselung hinzu.

$password = "r@ndom Va1ue"
$encryptionpassword = $password | ConvertTo-SecureString -AsPlainText -Force  

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly `
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingEnableEncryption `
-AutoBackupSettingPassword $encryptionpassword `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb

Überprüfen Sie die Konfiguration der automatisierten Sicherung, um sich zu vergewissern, dass Ihre Einstellungen angewendet wurden.

Deaktivieren der automatisierten Sicherung

Um das automatisierte Backup zu deaktivieren, führen Sie dasselbe Skript aus, wobei der Parameter -AutoBackupSettingEnable im Befehl Update-AzSqlVM auf $false festgelegt ist. Wenn der Wert auf $false gesetzt wird, ist die Funktion deaktiviert. Ähnlich wie die Installation kann auch das Deaktivieren der automatisierten Sicherung mehrere Minuten dauern.

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

Beispielskript

Das folgende Skript stellt einen Satz von Variablen bereit, die Sie anpassen können, um die automatisierte Sicherung für Ihren virtuellen Computer zu aktivieren und zu konfigurieren. Unter Umständen müssen Sie das Skript an Ihre individuellen Anforderungen anpassen. So müssen Sie das Skript beispielsweise ändern, wenn Sie die Sicherung von Systemdatenbanken deaktivieren oder die Verschlüsselung aktivieren möchten.

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$region = "Azure region name such as EASTUS2"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"
$retentionperiod = 10
$backupscheduletype = "Manual"
$fullbackupfrequency = "Weekly"
$fullbackupdayofweek = "Saturday"
$fullbackupstarthour = "20"
$fullbackupwindow = "2"
$logbackupfrequency = "30"

# 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 `
-AutoBackupSettingBackupScheduleType $backupscheduletype `
-AutoBackupSettingFullBackupFrequency $fullbackupfrequency `
-AutoBackupSettingDaysOfWeek $fullbackupdayofweek `
-AutoBackupSettingFullBackupStartTime $fullbackupstarthour `
-AutoBackupSettingFullBackupWindowHour $fullbackupwindow `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod $retentionperiod `
-AutoBackupSettingLogBackupFrequency $logbackupfrequency `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb

Überwachung

Zum Überwachen der automatisierten Sicherung in SQL Server 2016 oder höher stehen Ihnen im Wesentlichen zwei Optionen zur Verfügung. Da die automatisierte Sicherung das SQL Server-Feature Managed Backup verwendet, gelten für beide Optionen die gleichen Überwachungstechniken.

Zum einen können Sie den Status durch Aufruf von msdb.managed_backup.sp_get_backup_diagnostics abrufen. Die andere Möglichkeit besteht darin, die Tabellenwertfunktion msdb.managed_backup.fn_get_health_status abzufragen.

Eine andere Option besteht darin, das integrierte Datenbank-E-Mail-Feature für Benachrichtigungen zu verwenden.

  1. Rufen Sie die gespeicherte Prozedur msdb.managed_backup.sp_set_parameter auf, um dem Parameter SSMBackup2WANotificationEmailIds eine E-Mail-Adresse zuzuweisen.
  2. Aktivieren Sie SendGrid, um die E-Mails von der Azure-VM zu senden.
  3. Verwenden Sie den SMTP-Server und den Benutzernamen, um das Datenbank-E-Mail-Feature zu konfigurieren. Sie können das Datenbank-E-Mail-Feature in SQL Server Management Studio oder mithilfe von Transact-SQL-Befehlen konfigurieren. Weitere Informationen finden Sie unter Datenbank-E-Mail.
  4. Konfigurieren Sie den SQL Server-Agent für die Verwendung von Datenbank-E-Mail.
  5. Stellen Sie sicher, dass der SMTP-Port sowohl in der lokalen VM-Firewall als auch in der Netzwerksicherheitsgruppe für die VM zugelassen ist.

Bekannte Probleme

Berücksichtigen Sie diese bekannten Probleme, wenn Sie mit der Automatisierten Sicherung arbeiten.

Die Automatisierte Sicherung kann nicht über das Azure-Portal aktiviert werden

In der folgenden Tabelle sind die möglichen Lösungen aufgeführt, wenn Probleme beim Aktivieren der Automatisierten Sicherung vom Azure-Portal aus auftreten:

Symptom Lösung
Beim Deaktivieren der Automatisierten Sicherung tritt ein Fehler auf, wenn sich Ihre IaaS-Erweiterung in einem fehlerhaften Zustand befindet. Reparieren Sie die SQL-IaaS-Erweiterung, wenn sie sich in einem fehlerhaften Zustand befindet.
Beim Aktivieren der Automatisierten Sicherung tritt ein Fehler auf, wenn Sie über Hunderte von Datenbanken verfügen Dies ist eine bekannte Einschränkung bei der SQL-IaaS-Agent-Erweiterung. Um dieses Problem zu umgehen, können Sie die Verwaltete Sicherung direkt aktivieren, anstatt die SQL-IaaS-Agent-Erweiterung zum Konfigurieren der Automatisierten Sicherung zu verwenden.
Beim Deaktivieren der Automatisierten Sicherung tritt aufgrund von Metadatenproblemen ein Fehler auf. Beenden Sie den SQL-IaaS-Agent-Dienst. Führen Sie den T-SQL-Befehl aus: use msdb exec autoadmin_metadata_delete. Starten Sie den SQL-IaaS-Agent-Dienst, und versuchen Sie, die Automatisierte Sicherung über das Azure-Portal erneut zu aktivieren.
Aktivieren der Automatisierten Sicherung für die FCI Sicherungen mit privaten Endpunkten werden nicht unterstützt. Verwenden Sie den vollständigen Speicherkonto-URI für Ihre Sicherung.
Sichern mehrerer SQL-Instanzen mithilfe der Automatisierten Sicherung Die Automatisierte Sicherung unterstützt derzeit nur eine SQL Server-Instanz. Wenn Sie über mehrere benannte Instanzen und die Standardinstanz verfügen, funktioniert die Automatisierte Sicherung mit der Standardinstanz. Wenn Sie über mehrere benannte Instanzen verfügen und keine Standardinstanz, tritt beim Aktivieren der Automatisierten Sicherung ein Fehler auf.
Die Automatisierte Sicherung kann aufgrund des Kontos und von Berechtigungen nicht aktiviert werden Überprüfen Sie Folgendes:
– Der SQL Server-Agent wird ausgeführt.
– Das NT Service\SqlIaaSExtensionQuery-Konto verfügt sowohl in SQL Server als auch für die Ressource SQL-VM im Azure-Portal über die richtigen Berechtigungen für das Feature „Automatisierte Sicherung“.
– Das SA-Konto wurde nicht umbenannt, aber das Deaktivieren ist akzeptabel.
Bei der automatisierten Sicherung tritt bei SQL 2016 oder höher ein Fehler auf Öffentlichen Blobzugriff gestatten ist für das Speicherkonto aktiviert. Dies bietet eine vorübergehende Problemumgehung für ein bekanntes Problem.

Häufige Fehler bei Automatisierter Sicherung oder Verwalteter Sicherung

In der folgenden Tabelle sind mögliche Fehler und Lösungen bei der Arbeit mit der Automatisierten Sicherung aufgeführt:

Symptom Lösung
Fehler bei der Automatisierten/Verwalteten Sicherung aufgrund von Konnektivitätsproblemen mit dem Speicherkonto/aufgrund von Timeoutfehlern Überprüfen Sie, ob die Netzwerksicherheitsgruppe (NSG) für das virtuelle Netzwerk und die Windows-Firewall keine ausgehenden Verbindungen zwischen dem virtuellen Computer (VM) und dem Speicherkonto an Port 443 blockieren.
Fehler bei der Automatisierten/Verwalteten Sicherung aufgrund von hoher Arbeitsspeicher- oder E/A-Auslastung Überprüfen Sie, ob Sie „Maximaler Serverarbeitsspeicher“ erhöhen und/oder die Größe des Datenträgers/der VM ändern können, wenn der E/A- oder VM-Grenzwert überschritten wird. Wenn Sie eine Verfügbarkeitsgruppe verwenden, erwägen Sie, Ihre Sicherungen auf den sekundären Knoten auszulagern.
Fehler bei der Automatisierten Sicherung nach dem Umbenennen des Servers Wenn Sie den Hostnamen Ihres Computers geändert haben, müssen Sie den Hostnamen auch in SQL Server ändern.
Fehler: Bei dem Vorgang ist ein interner Fehler aufgetreten. Das Argument darf keine leere Zeichenfolge sein.\r\nParametername: sasToken Versuchen Sie es später noch einmal. Der Grund hierfür ist wahrscheinlich, dass der SQL Server-Agent-Dienst nicht über die korrekten Berechtigungen für den Identitätswechsel verfügt. Ändern Sie den SQL Server-Agent-Dienst, um ein anderes Konto zu verwenden, um dieses Problem zu beheben.
Fehler: SQL Server Managed Backup to Microsoft Azure kann die Standardsicherungseinstellungen für die SQL Server-Instanz nicht konfigurieren, weil die Container-URL ungültig war. Es ist ferner möglich, dass Ihre SAS-Anmeldeinformationen ungültig sind. Dieser Fehler kann angezeigt werden, wenn Sie über eine große Anzahl von Datenbanken verfügen. Verwenden Sie die Verwaltete Sicherung anstelle der Automatisierten Sicherung.
Fehler beim Auftrag für die Automatisierte Sicherung nach dem Neustart der VM Stellen Sie sicher, dass der SQL-Agent-Dienst ausgeführt wird.
Die verwaltete Sicherung schlägt zeitweilig fehl/Fehler: Das Timeout für die Ausführung ist abgelaufen Dies ist ein bekanntes Problem, das in CU18 für SQL Server 2019 und [KB4040376] für SQL Server 2014-2017 behoben wurde.
Fehler: Der Remoteserver hat einen Fehler zurückgegeben: (403) Verboten Reparieren Sie die SQL-IaaS-Agent-Erweiterung.
Fehler 3202: Fehler beim Schreiben in das Speicherkonto 13 (Die Daten sind ungültig) Entfernen Sie die unveränderliche Blobrichtlinie für den Speichercontainer, und stellen Sie sicher, dass das Speicherkonto mindestens TLS 1.0 verwendet.

Fehler beim Deaktivieren der Automatisierten oder Verwalteten Sicherung

In der folgenden Tabelle sind die möglichen Lösungen aufgeführt, wenn Probleme beim Deaktivieren der Automatisierten Sicherung vom Azure-Portal aus auftreten:

Symptom Lösung
Beim Deaktivieren automatisierter Sicherungen tritt ein Fehler auf, wenn sich Ihre IaaS-Erweiterung in einem fehlerhaften Zustand befindet. Reparieren Sie die SQL-IaaS-Erweiterung, wenn sie sich in einem fehlerhaften Zustand befindet.
Beim Deaktivieren der Automatisierten Sicherung tritt aufgrund von Metadatenproblemen ein Fehler auf Beenden Sie den SQL-IaaS-Agent-Dienst. Führen Sie den T-SQL-Befehl aus: use msdb exec autoadmin_metadata_delete. Starten Sie den SQL-IaaS-Agent-Dienst, und versuchen Sie, die Automatisierte Sicherung über das Azure-Portal zu deaktivieren.
Die Automatisierte Sicherung kann aufgrund des Kontos und von Berechtigungen nicht deaktiviert werden Überprüfen Sie Folgendes:
– Der SQL Server-Agent wird ausgeführt.
– Das NT Service\SqlIaaSExtensionQuery-Konto verfügt sowohl in SQL Server als auch für die Ressource SQL-VM im Azure-Portal über die richtigen Berechtigungen für das Feature „Automatisierte Sicherung“.
– Das SA-Konto wurde nicht umbenannt, aber das Deaktivieren ist akzeptabel.

Ich möchte herausfinden, welcher Dienst/welche Anwendung die Sicherungen von SQL Server durchführt

  • Klicken Sie im Objekt-Explorer von SQL Server Management Studio (SSMS) mit der rechten Maustaste auf die Datenbank, und wählen Sie Berichte>Standardberichte>Ereignisse sichern und wiederherstellen aus. Im Bericht können Sie den Abschnitt Erfolgreiche Sicherungsvorgänge erweitern, um den Sicherungsverlauf anzuzeigen.
  • Sollten mehrere Sicherungen in Azure oder auf einem virtuellen Gerät angezeigt werden, überprüfen Sie, ob Sie Azure Backup verwenden, um einzelne SQL-Datenbanken zu sichern, oder ob Sie eine VM-Momentaufnahme auf einem virtuellen Gerät erstellen, das ein NT Authority/SYSTEM-Konto verwendet. Wenn dies nicht der Fall ist, überprüfen Sie die Windows-Dienstekonsole (services.msc), um Anwendungen von Drittanbietern zu identifizieren, die möglicherweise Sicherungen erstellen.

Nächste Schritte

Die automatisierte Sicherung konfiguriert Managed Backup für Azure-VMs. Lesen Sie daher unbedingt die Dokumentation für die Verwaltete Sicherung, um sich mit dem Verhalten und den Auswirkungen vertraut zu machen.

Weitere Informationen zur Sicherung und Wiederherstellung für SQL Server auf Azure-VMs finden Sie im folgenden Artikel: Sicherung und Wiederherstellung für SQL Server auf Azure-VMs.

Informationen zu anderen verfügbaren Automatisierungsaufgaben finden Sie unter SQL Server-Agent-Erweiterung für virtuelle SQL Server-Computer (klassisch).

Ausführlichere Informationen zur Ausführung von SQL Server auf virtuellen Azure-Computern finden Sie unter Übersicht zu SQL Server auf Azure-VMs.