Freigeben über


Automatisierte Sicherung für SQL Server 2014-VMs (Resource Manager)

Gilt für: SQL Server auf Azure VM

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

Voraussetzungen

Um automatisierte Backups für Ihren SQL Server auf Azure VM zu verwenden, benötigen Sie Folgendes:

  • Eine mit der SQL-IaaS-Agent-Erweiterung registrierte SQL Server auf Azure VM.
  • Windows Server 2012 oder höher
  • SQL Server 2014, Standard oder Enterprise. Für neuere SQL Server-Versionen siehe Automatisiertes Backup für SQL Server 2016 und höher.
  • 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 zur automatisierten 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. Beachten Sie, dass die automatisierte Sicherung standardmäßig Sicherungskomprimierung verwendet, die nicht deaktiviert werden kann.

Einstellung Bereich (Standard) BESCHREIBUNG
Automatisierte Sicherung Aktivieren/Deaktivieren (deaktiviert) Aktiviert oder deaktiviert die automatisierte Sicherung für eine Azure-VM mit SQL Server 2014 Standard oder Enterprise.
Aufbewahrungszeitraum 1 bis 90 Tage (90 Tage) Die Anzahl von Tagen, für die eine Sicherung aufbewahrt wird.
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 und den Computernamen.
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. Ein 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.

Konfigurieren neuer VMs

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

Scrollen Sie auf der Registerkarte SQL Server-Einstellungen nach unten zu Automatisierte Sicherung, und wählen Sie Aktivieren aus. Auf dem folgenden Screenshot des Azure-Portals sehen Sie die Einstellungen für Automatisierte SQL-Sicherung.

Screenshot der Konfiguration der automatisierten SQL-Sicherung im Azure-Portal.

Konfigurieren vorhandener VMs

Für vorhandene SQL Server-VMs können Sie automatisierte Sicherungen aktivieren und deaktivieren, die Beibehaltungsdauer ändern, das Speicherkonto angeben und die Verschlüsselung über das Azure-Portal aktivieren.

Navigieren Sie für Ihren virtuellen SQL Server 2014-Computer zur Ressource für virtuelle SQL-Computer, und wählen Sie dann Sicherungen aus.

Screenshot der automatisierte SQL-Sicherung für vorhandene virtuelle Computer.

Wählen Sie abschließend die Schaltfläche Übernehmen am unteren Rand der Seite 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.

Hinweis

Sie können die automatisierte Sicherung auch mithilfe einer Vorlage konfigurieren. Weitere Informationen finden Sie unter Azure quickstart template for Automated Backup(Azure-Schnellstartvorlage für die automatisierte Sicherung).

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.

Überprüfen der aktuellen Einstellungen

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

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

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

Die Ausgabe sollte in etwa wie folgt aussehen:

Enable                      : False
EnableEncryption            : False
RetentionPeriod             : -1
StorageUrl                  : NOTSET
StorageAccessKey            : 
Password                    : 
BackupSystemDbs             : False
BackupScheduleType          : 
FullBackupFrequency         : 
FullBackupStartTime         : 
FullBackupWindowHours       : 
LogBackupFrequency          : 

Falls Sie in der Ausgabe sehen, dass 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.

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingStorageContainerName $storage_container 

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

Hinweis

Es gibt andere Einstellungen für Update-AzSqlVM*, die nur für SQL Server 2016 und die automatisierte Sicherung gelten. SQL Server 2014 unterstützt nicht die folgenden Einstellungen: -AutoBackupSettingBackupSystemDb, -AutoBackupSettingBackupScheduleType, -AutoBackupSettingFullBackupFrequency, -AutoBackupSettingFullBackupStartTime, -AutoBackupSettingFullBackupWindowHour und -AutoBackupSettingLogBackupFrequency. Wenn Sie versuchen, diese Einstellungen auf einem virtuellen Computer mit SQL Server 2014 zu konfigurieren, wird zwar kein Fehler angezeigt, doch die Einstellungen werden nicht angewendet. Wenn Sie diese Einstellungen auf einem virtuellen Computer mit SQL Server 2016 verwenden möchten, siehe Automatisierte Sicherung für Azure-VMs mit SQL Server 2016.

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 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingEnableEncryption `
-AutoBackupSettingPassword $encryptionpassword `
-AutoBackupSettingStorageContainerName $storage_container 

Ü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

# 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 

Sicherung mit Verschlüsselungszertifikaten

Wenn Sie sich entscheiden, Ihre Sicherungen zu verschlüsseln, wird ein Verschlüsselungszertifikat generiert und im gleichen Speicherkonto wie die Sicherungen gespeichert. In diesem Szenario müssen Sie auch ein Passwort eingeben, mit dem die Verschlüsselungszertifikate geschützt werden, die zum Verschlüsseln und Entschlüsseln Ihrer Sicherungen verwendet werden. Auf diese Weise müssen Sie sich keine Gedanken zu Ihren Sicherungen über die Konfiguration dieses Features hinaus machen. Außerdem wird so sichertestellt, dass Ihre Sicherungen sicher sind.

Wenn die Sicherungsverschlüsselung aktiviert ist, wird dringend empfohlen, zu prüfen, ob das Verschlüsselungszertifikat erfolgreich erstellt und hochgeladen wurde, um die Wiederherstellbarkeit Ihrer Datenbanken sicherzustellen. Sie können dies tun, indem Sie sofort eine Datenbank erstellen und die Verschlüsselungszertifikate und -daten ordnungsgemäß im neu erstellten Container sichern. Dies zeigt, dass alles richtig konfiguriert wurde und keine Anomalien aufgetreten sind.

Wenn das Zertifikat aus irgendeinem Grund nicht hochgeladen werden konnte, können Sie den Zertifikat-Manager verwenden, um das Zertifikat zu exportieren und zu speichern. Sie sollten sie jedoch nicht auf demselben virtuellen Computer speichern, da dadurch nicht sichergestellt wird, dass Sie Zugriff auf das Zertifikat haben, wenn der virtuelle Computer abstürzt. Um zu wissen, ob das Zertifikat nach dem Ändern oder Erstellen der Konfiguration für die automatisierte Sicherung ordnungsgemäß gesichert wurde, können Sie die Ereignisprotokolle in der VM überprüfen. Wenn die Sicherung fehlgeschlagen ist, wird diese Fehlermeldung angezeigt:

Screenshot der Fehlermeldung im Ereignisprotokoll der VM.

Wenn die Zertifikate ordnungsgemäß gesichert wurden, wird diese Meldung in den Ereignisprotokollen angezeigt:

Screenshot der erfolgreichen Sicherung des Verschlüsselungszertifikats in Ereignisprotokollen.

Allgemein wird empfohlen, die Integrität Ihrer Sicherungen von Zeit zu Zeit zu überprüfen. Um Ihre Sicherungen wiederherstellen zu können, sollten Sie die folgenden Schritte ausführen:

  1. Vergewissern Sie sich, dass Ihre Verschlüsselungszertifikate gesichert wurden und Sie sich Ihr Passwort merken. Wenn Sie dies nicht tun, können Sie Ihre Sicherungen nicht entschlüsseln und wiederherstellen. Wenn Ihre Zertifikate aus irgendeinem Grund nicht ordnungsgemäß gesichert wurden, können Sie dies manuell ausführen, indem Sie die folgende T-SQL-Abfrage ausführen:

    BACKUP MASTER KEY TO FILE = <file_path> ENCRYPTION BY PASSWORD = <password>
    BACKUP CERTIFICATE [AutoBackup_Certificate] TO FILE = <file_path> WITH PRIVATE KEY (FILE = <file_path>, ENCRYPTION BY PASSWORD = <password>)
    
  2. Vergewissern Sie sich, dass Ihre Sicherungsdateien mit mindestens 1 vollständiger Sicherung hochgeladen werden. Da Fehler auftreten, sollten Sie sicherstellen, dass Sie immer über mindestens eine vollständige Sicherung verfügen, bevor Sie Ihre VM löschen, oder falls Ihre VM beschädigt wird, damit Sie wissen, dass Sie weiterhin auf Ihre Daten zugreifen können. Sie sollten sicherstellen, dass die Sicherung im Speicher sicher und wiederherstellbar ist, bevor Sie die Datenträger Ihrer VM löschen.

Überwachung

Zur Überwachung der automatisierten Sicherung in SQL Server 2014 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.smart_admin.sp_get_backup_diagnostics abrufen. Die andere Möglichkeit besteht darin, die Tabellenwertfunktion msdb.smart_admin.fn_get_health_status abzufragen.

Hinweis

Das Schema für Managed Backup in SQL Server 2014 lautet msdb.smart_admin. In SQL Server 2016 wurde dies zu msdb.managed_backup geändert, und die Referenzthemen verweisen dieses neuere Schema. Für SQL Server 2014 müssen Sie jedoch für alle Managed Backup-Objekte weiterhin das smart_admin-Schema verwenden.

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

  1. Rufen Sie die gespeicherte Prozedur msdb.smart_admin.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.

Nächste Schritte

Die automatisierte Sicherung konfiguriert Managed Backup für Azure-VMs. Lesen Sie daher unbedingt die Dokumentation für Managed Backup in SQL Server 2014.

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.