Konfigurieren des Protokollversands für SQL Server auf Azure-VMs

Gilt für:SQL Server auf Azure-VM

In diesem Artikel erfahren Sie, wie Sie den Protokollversand zwischen zwei SQL Servern auf virtuellen Azure-Computern (VMs) konfigurieren.

Übersicht

Der Protokollversand erlaubt das Versenden von automatischen Transaktionsprotokollsicherungen von einer primären Datenbank auf einem primären Server an eine oder mehrere sekundäre Datenbanken auf einem separaten sekundären Server. Die Transaktionsprotokollsicherungen werden einzeln auf jede der sekundären Datenbanken angewendet. Ein optionaler dritter Server, der als Überwachungsserverbezeichnet wird, zeichnet den Verlauf und den Status von Sicherungs- und Wiederherstellungsvorgängen auf und löst optional Warnungen aus, falls diese Vorgänge nicht wie geplant ausgeführt werden können.

Der Protokollversand wird in erster Linie als Notfallwiederherstellungslösung verwendet und kann mit anderen Optionen für hohe Verfügbarkeit und Notfallwiederherstellung kombiniert werden, einschließlich Always On-Verfügbarkeitsgruppen.

Voraussetzungen

Um den Protokollversand für SQL Server auf Azure VMs zu konfigurieren, müssen Sie die folgenden Voraussetzungen erfüllen:

  • Mindestens zwei mit einer Domäne verbundene virtuelle Azure-Maschinen mit SQL Server in derselben Ressourcengruppe wie ein Azure-Speicherkonto für Transaktionsprotokoll-Backups. Der sekundäre Server muss sich auf derselben oder höherer Version von SQL Server wie der primäre SQL Server befinden.

  • Die primäre Datenbank muss das vollständige oder massenprotokollierte Wiederherstellungsmodell verwenden. Der Protokollversand funktioniert nicht mehr, wenn die primäre Datenbank auf ein einfaches Wiederherstellungsmodell umgestellt wird.

  • Das Konto, das den Protokollversand konfiguriert, muss Mitglied der festen Serverrolle SysAdmin sein.

Create a File Share in Azure File storage (Erstellen einer Dateifreigabe in Azure File Storage)

Transaktionsprotokollsicherungen vom Primärserver werden in einer Dateifreigabe gespeichert. Bevor Sie den Protokollversand konfigurieren, müssen Sie eine Azure-Dateifreigabe innerhalb eines Azure-Speicherkontos erstellen, auf die sowohl der primäre als auch der sekundäre Server zugreifen können.

Um Ihre Azure-Dateifreigabe im Azure-Portal zu erstellen, führen Sie folgende Schritte aus:

  1. Gehen Sie zu Ihrer Ressourcengruppe im Azure-Portal und wählen Sie das Speicherkonto aus, das Sie für Transaktionsprotokollsicherungen verwenden möchten.

  2. Wählen Sie unter Datenspeicher die Option Dateifreigaben und wählen Sie dann +Dateifreigabe, um eine neue Dateifreigabe zu erstellen.

    Screenshot of the File share creation option in the Azure portal.

  3. Geben Sie auf der Registerkarte Allgemeine Informationen den Namen der Dateifreigabe an, z. B. Protokollversand. Sie können die Stufe auf der Standardeinstellung Transaktion optimiert belassen.

  4. (Optional) Aktivieren Sie auf der Registerkarte Backup das Kontrollkästchen, um Backups Ihrer Dateifreigabe in Azure Backup zu aktivieren.

  5. Wählen Sie Überprüfen und Erstellen, um Ihre Dateifreigabeeinstellungen zu überprüfen, und wählen Sie dann Erstellen, um Ihre neue Dateifreigabe zu erstellen.

Backup-Verzeichnisse erstellen

Nachdem die Dateifreigabe erstellt wurde, sollten Sie die folgenden beiden Verzeichnisse anlegen:

  • Ein Verzeichnis für das primäre Schreiben der Protokollsicherungen
  • Ein Verzeichnis für das sekundäre Kopieren und Wiederherstellen der Protokollsicherung

Um die Verzeichnisse zu erstellen, gehen Sie folgendermaßen vor:

  1. Nachdem Azure die Dateifreigabe erstellt hat, kehrt das Portal zur Seite Übersicht für Ihre neue SMB-Datei zurück.

  2. Wählen Sie unter Durchsuchen die Option + Verzeichnis hinzufügen aus. Geben Sie den Namen des neuen Verzeichnisses an, z. B.Protokollsicherungen. Klickan Sie auf OK.

    Screenshot of the add directory creation option in the Azure portal.

  3. Wiederholen Sie den vorherigen Schritt, um ein zweites Verzeichnis hinzuzufügen, z. B. Wiederherstellungssicherungen. Klickan Sie auf OK.

VMs mit der Dateifreigabe verbinden

Nachdem die Verzeichnisse erstellt wurden, verbinden Sie die virtuellen Computer mit der Dateifreigabe.

Um Verbindungsdetails zu ermitteln, wählen Sie Verbinden entweder auf der Seite Durchsuchen oder Übersicht der Dateifreigabe aus, um das Fenster Verbinden zu öffnen.

Screenshot of the Connect option for the file share in the Azure portal.

Das Fenster Verbinden stellt ein Skript bereit, mit dem eine Ressource auf die Dateifreigabe zugreifen kann. Ändern Sie optional den Laufwerkbuchstaben, um die Dateifreigabe auf dem virtuellen Computer bereitzustellen. In dieser Anleitung wird ein Speicherkontoschlüssel für einen virtuellen Windows-Computer verwendet.

Wählen Sie Skript anzeigen aus, um das Skript anzuzeigen, es zu kopieren und dann auf jeder SQL Server-VM auszuführen, auf der Sie den Protokollversand konfigurieren möchten.

Nachdem Sie das Skript Verbinden ausgeführt haben, können Sie das folgende PowerShell-Cmdlet verwenden, um die Konnektivität mit Port 445 zu überprüfen:

Test-NetConnection -ComputerName yourstorageaccount.file.core.windows.net -Port 445

Wenn der Verbindungstest erfolgreich ist, sehen Sie eine Ausgabe von TcpTestSucceeded : True.

Gewähren des SQL Server-Zugriffs auf die Dateifreigabe

Nachdem die SQL Server-VMs erfolgreich eine Verbindung zur Dateifreigabe herstellen können, erteilen Sie dem SQL Server-Dienstkonto die Berechtigung, auf die Dateifreigabe zuzugreifen, indem Sie in SQL Server eine Berechtigung mit der URL, dem Benutzernamen und dem Kennwort aus dem Skript Verbinden erstellen.

Um den Berechtigungsnachweis zu erstellen, aktivieren Sie xp_cmdshell, und verwenden Sie ihn, um den Berechtigungsnachweis zu erstellen, bevor Sie xp_cmdshell wieder deaktivieren.

Um dem SQL Server-Dienstkonto Zugriff auf die Dateifreigabe zu gewähren, führen Sie die folgenden Schritte auf jeder SQL Server-Instanz aus, die Sie für den Protokollversand verwenden möchten:

  1. Verbinden der SQL Server-VM mit einem Konto, das Teil der SysAdmin-Rolle ist.

  2. Öffnen Sie SQL Server Management Studio (SSMS), und stellen Sie eine Verbindung mit Ihrer SQL Server-Instanz her.

  3. Öffnen Sie ein neues Abfragefenster und führen Sie den folgenden Transact-SQL-Code aus, der die vom Azure-Portal erhaltenen Details zum Speicherschlüssel enthält:

    EXEC sp_configure 'show advanced options', 1;
    RECONFIGURE;
    exec sp_configure 'xp_cmdshell', 1;
    RECONFIGURE;
    GO
    EXEC xp_cmdshell 'cmdkey /add:"yourstorageaccount.file.core.windows.net" /user:"localhost\yourstorageaccount" /pass:"<yourpasskey>"';
    GO
    EXEC sp_configure 'xp_cmdshell', 0;
    RECONFIGURE;
    GO
    

    Nach der Ausführung des Befehls bestätigt SSMS, dass Ihre Anmeldeinformationen erfolgreich hinzugefügt wurden:

    Screenshot of the confirmation the credential was successfully created in SSMS.

Konfigurieren des Protokollversands

Nachdem die SQL Server-Instanzen auf die Dateifreigabe zugreifen können, verwenden Sie SQL Server Management Studio (SSMS), um den Protokollversand zu konfigurieren.

Um den Protokollversand zu konfigurieren, gehen Sie folgendermaßen vor:

  1. Stellen Sie eine Verbindung mit Ihrer primären SQL Server-Instanz her.

  2. Klicken Sie mit der rechten Maustaste auf die Datenbank, die Sie als primäre Datenbank in der Protokollversandkonfiguration verwenden möchten, und wählen Sie Eigenschaften.

  3. Wählen Sie unter Seite auswählenTransaktionsprotokollversand.

  4. Markieren Sie das Kästchen neben Diese Datenbank als primäre Datenbank in einer Protokollversandkonfiguration aktivieren.

  5. Wählen Sie unter TransaktionsprotokollsicherungenSicherungseinstellungen.

  6. Geben Sie in das Feld Geben Sie den Netzwerkpfad zum Sicherungsordner an den Netzwerkpfad für die Freigabe und das Verzeichnis ein, die Sie für den Ordner der Transaktionsprotokollsicherung erstellt haben.

    Beispiel: \\yourstorageaccount.file.core.windows.net\log-shipping\log-backups

  7. Konfigurieren Sie die Parameter Dateien löschen, die älter sind als und Warnung, wenn keine Sicherung erfolgt innerhalb der Parameter, die Ihren geschäftlichen Anforderungen entsprechen.

    1. Beachten Sie den Sicherungszeitplan im Feld Zeitplan unter Sicherungsauftrag. Wenn Sie den Zeitplan für Ihre Installation anpassen möchten, wählen Sie Zeitplan und passen Sie den Zeitplan des SQL Server -Agents bei Bedarf an.

    2. SQL Server wird die Sicherungskomprimierung. Wenn Sie eine Protokollversandkonfiguration erstellen, können Sie das Verhalten der Sicherungskomprimierung von Protokollsicherungen steuern, indem Sie eine der folgenden Optionen auswählen: Standardservereinstellung verwenden, Sicherung komprimieren oder Sicherung nicht komprimieren. Weitere Informationen finden Sie unter Log Shipping Transaction Log Backup Settings.

    3. Klicken Sie auf OK, um die Einstellungen zu speichern.

  8. Wählen Sie unter Sekundäre Serverinstanzen und DatenbankenHinzufügen.

  9. Verwenden Sie Verbinden, um eine Verbindung mit der Instanz von SQL Server herzustellen, die Sie als sekundären Server verwenden möchten.

    1. Wählen Sie im Feld Sekundäre Datenbank eine Datenbank aus der Liste aus, oder geben Sie den Namen der Datenbank ein, die Sie erstellen möchten.

    2. Wählen Sie auf der Registerkarte Sekundäre Datenbank initialisieren die Option aus, die Sie zum Initialisieren der sekundären Datenbank verwenden möchten.

    Hinweis

    Wenn Sie veranlassen, dass SSMS die sekundäre Datenbank von einer Datenbanksicherung initialisiert, werden die Daten- und Protokolldateien der sekundären Datenbank am gleichen Speicherort abgelegt wie die Daten- und Protokolldateien der master-Datenbank. Dieser Speicherort unterscheidet sich wahrscheinlich vom Speicherort der Daten- und Protokolldateien der primären Datenbank.

  10. Geben Sie auf der Registerkarte Dateien kopieren im Feld Zielordner für kopierte Dateien den Pfad des Ordners ein, in den Sie die Sicherungen der Transaktionsprotokolle kopieren möchten, z. B. das Verzeichnis für Wiederherstellungs-Backups, das Sie für Ihre Dateifreigabe erstellt haben:

    \\yourstorageaccount.file.core.windows.net\log-shipping\restore-backups

    1. Beachten Sie den Zeitplan für das Kopieren im Feld Zeitplan unter Kopierauftrag. Wenn Sie den Zeitplan für Ihre Installation anpassen möchten, wählen Sie Zeitplan und passen Sie dann den Zeitplan des SQL Server -Agents bei Bedarf an. Dieser Zeitplan sollte ungefähr mit dem Sicherungszeitplan übereinstimmen.
  11. Wählen Sie auf der Registerkarte Wiederherstellen unter Datenbankstatus beim Wiederherstellen von Sicherungendie Option Kein Wiederherstellungsmodus oder Standbymodus aus.

    Wichtig

    Standby-Modus ist nur eine Option, wenn die Versionen des primären und sekundären Servers identisch sind. Wenn die Hauptversion des sekundären Servers höher ist als die des primären, ist nur Kein Wiederherstellungsmodus zulässig.

    1. Wenn Sie die Option Standbymodus auswählen, legen Sie fest, ob die Benutzer von der sekundären Datenbank getrennt werden sollen, während der Wiederherstellungsvorgang ausgeführt wird.

    2. Wenn Sie den Wiederherstellungsprozess auf dem sekundären Server verzögern möchten, wählen Sie unter Wiederherstellen von Sicherungen verzögern um mindestenseine Verzögerungszeit aus.

    3. Wählen Sie unter Warnen, wenn keine Wiederherstellung erfolgt ineinen Warnschwellenwert aus.

    4. Beachten Sie den Wiederherstellungszeitplan im Feld Zeitplan unter Wiederherstellungsauftrag. Wenn Sie den Zeitplan für Ihre Installation anpassen möchten, wählen Sie Zeitplan und passen Sie dann den Zeitplan des SQL Server -Agents bei Bedarf an. Dieser Zeitplan sollte ungefähr mit dem Sicherungszeitplan übereinstimmen.

    5. Klicken Sie auf OK, um die Einstellungen zu speichern.

  12. (Optional) Aktivieren Sie unter Überwachungsserverinstanzdas Kontrollkästchen Überwachungsserverinstanz verwenden und wählen Sie dann Einstellungen.

    Wichtig

    Wenn Sie diese Protokollversandkonfiguration überwachen möchten, müssen Sie nun den Überwachungsserver hinzufügen. Um den Überwachungsserver später hinzuzufügen, müssen Sie die Konfiguration für den Protokollversand entfernen und durch eine neue Konfiguration ersetzen, die einen Überwachungsserver enthält.

    1. Verwenden Sie Verbinden, um eine Verbindung mit der Instanz von SQL Server herzustellen, die Sie als Überwachungsserver verwenden möchten.

    2. Wählen Sie unter Überwachungsverbindungendie Verbindungsmethode aus, die von den Sicherungs-, Kopier- und Wiederherstellungsaufträgen zum Herstellen einer Verbindung mit dem Überwachungsserver verwendet werden soll.

    3. Wählen Sie unter Verlaufsbeibehaltungaus, wie lang ein Datensatz des Protokollversandverlaufs beibehalten werden soll.

    4. Klicken Sie auf OK, um die Einstellungen zu speichern.

  13. Verwenden Sie im Dialogfeld DatenbankeigenschaftenOK, um den Konfigurationsprozess zu starten.