Sichern eines virtuellen SQL Server-Computers
Azure Backup bietet die Möglichkeit, virtuelle Computer (VMs) zu sichern, die SQL Server hosten. Diese Sicherungen enthalten nicht nur die SQL Server-Datenbanken, sondern auch alle anderen Inhalte innerhalb der VM, sodass bei Bedarf eine vollständige Wiederherstellung möglich ist. Obwohl dieser Ansatz für jedes Szenario nicht geeignet ist, bietet es einen robusten Schutz vor Problemen wie Ransomware-Angriffen.
Sicherungen auf VM-Ebene sind SQL Server-bewusst und anwendungsbewusst und sorgen dafür, dass anwendungskonsistente Sicherungen erstellt werden. Dies bedeutet, dass das Wiederherstellen einer Sicherung auf VM-Ebene die SQL Server-Funktionalität nicht beeinträchtigt. Wenn Sie diese Option verwenden, gibt das SQL Server-Protokoll an, dass die E/A-Funktion momentan fixiert und nach Abschluss fortgesetzt wurde.
Das Kombinieren von SQL Server-Sicherungen mit Momentaufnahmen kann möglicherweise Probleme verursachen. Wenn Momentaufnahmen zu Sicherungsfehlern führen, legen Sie den folgenden Wert für den [HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\BCDRAGENT] -Schlüssel fest:
"USEVSSCOPYBACKUP"="TRUE"
Verwenden lokaler Datenträger oder einer Netzwerkfreigabe für Sicherungsdateien
Wie bei lokalen SQL Server-Instanzen können Datenbanken auf Datenträgern gesichert werden, die an die VM angefügt sind, oder auf Netzwerkfreigaben (einschließlich der Dateifreigabe in Azure Files), auf die der SQL Server Zugriff hat. Wenn Sie lokale Datenträger auf dem virtuellen Computer sichern, stellen Sie sicher, dass sie nicht in den kurzlebigen Speicher geschrieben werden, der beim Herunterfahren oder Neustart gelöscht wird. Möglicherweise möchten Sie auch sicherstellen, dass die Sicherungen an einen zweiten Speicherort kopiert werden, damit kein einzelner Fehlerpunkt erstellt werden kann.
Sichern von Datenbanken unter einer URL und Wiederherstellen mit einer URL
Eine weitere Option besteht darin, die Sicherung auf eine URL für die SQL Server-Instanz zu konfigurieren, die auf der VM installiert ist. Im Gegensatz zu Sicherungen, die lokal erstellt wurden, stellt die Sicherung und Wiederherstellung von einer URL für eine IaaS-VM effektiv eine lokale Option dar.
Für eine Sicherung auf URL wird ein Azure-Speicherkonto benötigt, und es wird der Azure Blob Storage-Dienst verwendet. Innerhalb des Speicherkontos gibt es Container, und die Blobs werden dort gespeichert. Im Gegensatz zu einem Pfad auf Ihrer lokalen Festplatte sieht der Pfad zu einer Sicherungsdatei etwa so aus: https://ACCOUNTNAME.blob.core.windows.net/ContainerName/MyDatabase.bak. Sie können weitere Ordnernamen in Ihren Container einfügen, um die Identifizierung von Sicherungen zu erleichtern (z. B. FULL, DIFF, LOG).
Um eine Sicherung auf oder eine Wiederherstellung von einer URL durchzuführen, muss eine Authentifizierung zwischen der SQL Server-Instanz und Azure hergestellt werden. Denken Sie daran, dass SQL Server in einer Azure-VM nicht weiß, dass sie auf Azure ausgeführt wird. Eine SQL Server-Anmeldeinformation kann aus dem Azure-Speicherkontonamen und der Zugriffsschlüssel-Authentifizierung oder einer Freigegebenen Zugriffssignatur bestehen. Wenn die erste Option verwendet wird, wird die Sicherung als Seitenblob gespeichert, und bei der zweiten wird sie als Blockblob gespeichert. Ab SQL Server 2016 ist nur block blob verfügbar, sodass Sie eine Freigegebene Zugriffssignatur verwenden sollten. Aus Kostengründen sind Blockblobs ebenfalls günstiger, und Token für gemeinsame Zugriffssignaturen bieten eine bessere Sicherheitskontrolle.
Die Wiederherstellung von einer URL ist genauso einfach wie die Wiederherstellung von einem Datenträger oder einer Netzwerkfreigabe. Wählen Sie in der Benutzeroberfläche von SQL Server Management Studio im Assistenten als Sicherungsmedientyp „URL“ aus. Wenn Sie Transact-SQL verwenden, statt FROM DISK zu verwenden, verwenden Sie FROM-URL mit dem entsprechenden Speicherort- und Sicherungsdateinamen. Hier sind einige Beispiele:
Die folgende Anweisung würde ein Transaktionsprotokoll sichern.
BACKUP LOG contoso
TO URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso202003271200.trn'
Die folgende Anweisung würde eine vollständige Datenbanksicherung wiederherstellen, ohne sie wiederherzustellen, sodass differenzielle oder Transaktionsprotokollsicherungen angewendet werden könnten.
RESTORE DATABASE contoso
FROM URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso20200327.bak'
WITH NORECOVERY
Automatisierte Sicherungen mithilfe des SQL Server-Ressourcenanbieters
Jede iaaS-VM, auf der SQL Server installiert ist, kann den SQL Server-Ressourcenanbieter verwenden. Eine seiner Optionen ist die Möglichkeit, automatisierte Sicherungen zu konfigurieren, damit Azure die Sicherung von SQL Server-Datenbanken übernimmt. Es erfordert die Verwendung eines Speicherkontos.
Ein Vorteil der Implementierung von Sicherungen auf diese Weise ist, dass Sie Aufbewahrungszeiten für die Sicherungen verwalten können. Ein weiterer Vorteil besteht darin, dass Sie ein RPO sicherstellen können, da Datenbank- und Transaktionsprotokollsicherungen an einem einfach zu konfigurierenden Ort ausgeführt werden können. Die folgende Abbildung zeigt ein Beispiel dafür, wie das Konfigurieren einer automatisierten Sicherung im Azure-Portal aussieht.
Die option für die automatisierte Sicherung ist derzeit nur für Windows Server-basierte SQL Server-Installationen verfügbar.
Wichtig
Sie wählen eine Methode zum Sichern von Datenbanken mit IaaS-basierten SQL Server-Bereitstellungen aus. Wenn Sie beispielsweise automatisierte Sicherungen verwenden, insbesondere bei Transaktionsprotokollsicherungen, konfigurieren Sie diese nicht auch auf Instanzebene innerhalb der VM. Sie können Probleme mit der Protokollkette beim Wiederherstellen einer Datenbank verursachen, wenn dinge nicht koordiniert sind, da jede Protokollsicherung das Protokoll löscht und Sie über eine ganze ungebrochene Kette von Protokollsicherungen verfügen müssen, um eine Protokollwiederherstellung durchzuführen. Wenn zum Beispiel Transaktionsprotokollsicherungen im Gastbetriebssystem und auf der Azure-Plattform erfolgen, müssen Sie die Sicherungen möglicherweise zusammenfügen, um eine Wiederherstellung durchzuführen.
Obwohl die Sicherungen automatisiert werden können, ist dies bei Wiederherstellungen nicht möglich. In SQL Server müssen Sie die Wiederherstellung mithilfe der URL-Funktion konfigurieren und verwenden.