Freigeben über


Einrichten der verwalteten SQL Server-Sicherung in Azure für Verfügbarkeitsgruppen

Dieses Thema ist ein Tutorial zum Konfigurieren SQL Server verwalteten Sicherung in Microsoft Azure für Datenbanken, die an AlwaysOn-Verfügbarkeitsgruppen teilnehmen.

Verfügbarkeitsgruppenkonfigurationen

SQL Server verwaltete Sicherung in Microsoft Azure wird für Verfügbarkeitsgruppendatenbanken unterstützt, unabhängig davon, ob die Replikate alle lokal oder vollständig in Azure konfiguriert sind, oder eine Hybridimplementierung zwischen lokalen Und mindestens einem virtuellen Azure-Computer. Allerdings müssen bei einigen Implementierungen u. U. folgende Aspekte berücksichtigt werden:

  • Häufigkeit von Protokollsicherungen: Je häufiger Protokolle gesichert werden, umso höher wird der Zeitaufwand und Speicherplatzbedarf. Beispielsweise wird alle zwei Stunden eine Protokollsicherung ausgeführt, es sei denn, der innerhalb des zweistündigen Zeitraums belegte Protokollspeicherplatz wächst auf fünf oder mehr MB an. Dies gilt ausnahmslos für lokale, cloudbasierte und Hybridimplementierungen.

  • Netzwerkbandbreite: Dies gilt für Implementierungen, bei denen sich die Replikate an verschiedenen physischen Standorten befinden, z. B. in einer Hybrid cloud oder in verschiedenen Azure-Regionen in einer reinen Cloudkonfiguration. Die Netzwerkbandbreite kann die Latenz der sekundären Replikate beeinflussen, und wenn für die sekundären Replikate die synchrone Replikation festgelegt ist, kann das Protokoll auf dem primären Replikat anwachsen. Wenn für die sekundären Replikate die synchrone Replikation festgelegt wurde, können sie aufgrund der Netzwerklatenz u. U. nicht mehr Schritt halten, was bei einem Failover auf das sekundäre Replikat zu Datenverlusten führen kann.

Konfigurieren SQL Server verwalteten Sicherung in Microsoft Azure für Verfügbarkeitsdatenbanken.

Berechtigungen:

  • Erfordert die Mitgliedschaft in db_backupoperator Datenbankrolle mit ALTER ANY CREDENTIAL-Berechtigungen und EXECUTE Berechtigungen für sp_delete_backuphistorygespeicherten Prozedur.

  • Erfordert SELECT-Berechtigungen für die funktion smart_admin.fn_get_current_xevent_settings.

  • Erfordert EXECUTE Berechtigungen für die gespeicherte Prozedur smart_admin.sp_get_backup_diagnostics . Außerdem sind VIEW SERVER STATE-Berechtigungen erforderlich, da andere Systemobjekte, die diese Berechtigung erfordern, intern aufgerufen werden.

  • Erfordert EXECUTE Berechtigungen für die gespeicherten smart_admin.sp_set_instance_backup Prozeduren und smart_admin.sp_backup_master_switch .

Im Folgenden sind die grundlegenden Schritte zum Einrichten einer AlwaysOn-Verfügbarkeitsgruppe mit SQL Server Managed Backup in Microsoft Azure aufgeführt. Ein ausführliches schrittweises Lernprogramm wird weiter unten in diesem Thema beschrieben.

  1. Konfigurieren Sie nach dem Erstellen der Verfügbarkeitsgruppe das bevorzugte Sicherungsreplikat. Diese Einstellung für die Verfügbarkeitsgruppe wird auch von SQL Server Verwaltete Sicherung in Microsoft Azure verwendet, um zu bestimmen, welches Replikat für die Sicherung verwendet werden soll. Eine schrittweise Anleitung zum Einrichten der Sicherungseinstellung finden Sie unter Konfigurieren der Sicherung auf Verfügbarkeitsreplikaten (SQL Server). Wenn Sie eine neue AlwaysOn-Verfügbarkeitsgruppe erstellen, lesen Sie Erste Schritte mit AlwaysOn-Verfügbarkeitsgruppen (SQL Server).

  2. Konfigurieren Sie den schreibgeschützten Verbindungszugriff auf sekundäre Replikate. Eine schrittweise Anleitung zum Konfigurieren des schreibgeschützten Zugriffs finden Sie unter Konfigurieren Read-Only Zugriffs auf ein Verfügbarkeitsreplikat (SQL Server).

  3. Geben Sie das Sicherungsreplikat an. Die bevorzugte Einstellung für das Sicherungsreplikat wird von SQL Server Verwaltete Sicherung in Microsoft Azure verwendet, um zu bestimmen, welche Datenbank zum Planen von Sicherungen verwendet werden soll. Um zu bestimmen, ob das aktuelle Replikat das bevorzugte Sicherungsreplikat ist, verwenden Sie die Funktion sys.fn_hadr_backup_is_preferred_replica (Transact-SQL).

  4. Führen Sie auf jedem Replikat SQL Server Managed Backup to Microsoft Azure-Konfiguration für die Datenbank mithilfe der gespeicherten smart-admin.sp_set_db_backup-Prozedur aus.

    SQL Server Verhalten der verwalteten Sicherung in Microsoft Azure nach einem Failover: SQL Server Verwaltete Sicherung in Microsoft Azure funktioniert weiterhin und behält Nach einem Failoverereignis Die Sicherungskopien und die Wiederherstellbarkeit aufrecht. Nach einem Failover sind keine speziellen Aktionen erforderlich.

Überlegungen und Anforderungen:

Das Konfigurieren SQL Server managed Backup in Microsoft Azure für Datenbanken, die an der AlwaysOn-Verfügbarkeitsgruppe teilnehmen, erfordert bestimmte Überlegungen und Anforderungen. In der folgenden Liste werden Überlegungen und Anforderungen aufgeführt:

  • Die Konfigurationseinstellungen für SQL Server verwaltete Sicherung in Microsoft Azure sollten für alle Datenbanken auf allen Knoten von SQL Server identisch sein, die an derselben Verfügbarkeitsgruppe teilnehmen. Sie können dies entweder erreichen, indem Sie dieselben SQL Server Verwaltete Sicherung auf Microsoft Azure-Konfigurationen für die primären und alle Replikate auf Datenbankebene festlegen, oder indem Sie dieselben Standardeinstellungen SQL Server verwaltete Sicherung auf Microsoft Azure auf allen Knoten festlegen, die an den Verfügbarkeitsgruppen teilnehmen. Es wird empfohlen, SQL Server Verwaltete Sicherung auf Microsoft Azure in der Datenbank festzulegen, da sie durch die Konfiguration SQL Server Managed Backup in Microsoft Azure auf Datenbankebene die Einstellungen für die Datenbanken isolieren können, und Änderungen an den Standardeinstellungen wirken sich auf alle anderen Datenbanken auf der instance aus.

  • Geben Sie das Sicherungsreplikat an. Die bevorzugte Sicherungsreplikateinstellung wird von SQL Server Verwaltete Sicherung in Microsoft Azure verwendet, um die Sicherungen zu planen. Um zu bestimmen, ob das aktuelle Replikat das bevorzugte Sicherungsreplikat ist, verwenden Sie die Funktion sys.fn_hadr_backup_is_preferred_replica (Transact-SQL).

  • Wenn das sekundäre Replikat als bevorzugtes Replikat konfiguriert ist, muss für dieses Replikat mindestens ein schreibgeschützter Verbindungszugriff konfiguriert werden. Verfügbarkeitsgruppen, die keinen Verbindungszugriff auf sekundäre Datenbanken haben, werden nicht unterstützt. Weitere Informationen finden Sie unter Konfigurieren des schreibgeschützten Zugriffs auf ein Verfügbarkeitsreplikat (SQL Server).

  • Wenn Sie SQL Server Verwaltete Sicherung nach dem Konfigurieren der Verfügbarkeitsgruppe in Microsoft Azure konfigurieren, versucht SQL Server Verwaltete Sicherung in Microsoft Azure, alle vorhandenen Sicherungen basierend zu kopieren und sie in den Speichercontainer zu kopieren. Wenn SQL Server Verwaltete Sicherung in Microsoft Azure keine vorhandenen Sicherungen finden oder darauf zugreifen kann, wird eine vollständige Datenbanksicherung geplant. Dieser Schritt dient speziell der Optimierung von Sicherungsvorgängen für Datenbanken in einer Verfügbarkeitsgruppe.

  • Wenn Sie eine neue Verfügbarkeitsdatenbank erstellen, sollten Sie die Einstellungen für die instance-Ebene deaktivieren und die Einstellungen der instance Ebene nicht auf die Datenbank anwenden möchten.

  • Bei Verwendung der Verschlüsselung verwenden Sie dasselbe Zertifikat auf allen Replikaten. Auf diese Weise ist gewährleistet, dass Sicherungsvorgänge im Falle eines Failovers oder einer Wiederherstellung auf einem anderen Replikat kontinuierlich und unterbrechungsfrei verlaufen.

Aktivieren und Konfigurieren SQL Server verwalteten Sicherung in Microsoft Azure für eine Verfügbarkeitsdatenbank

In diesem Tutorial werden die Schritte zum Aktivieren und Konfigurieren SQL Server Managed Backup in Microsoft Azure für eine Datenbank (AGTestDB) auf den Computern Node1 und Node2 sowie die Schritte zum Aktivieren der Überwachung der SQL Server Managed Backup to Microsoft Azure Health status beschrieben.

  1. Erstellen Sie ein Azure-Speicherkonto: Die Sicherungen werden im Azure Blob Storage-Dienst gespeichert. Sie müssen zunächst ein Azure-Speicherkonto erstellen, sofern Sie noch nicht über ein Konto verfügen. Weitere Informationen finden Sie unter Erstellen eines Azure Storage-Kontos. Notieren Sie sich den Namen und die URL des Speicherkontos sowie die Zugriffsschlüssel. Aus dem Speicherkontonamen und den Zugriffsschlüsseln werden SQL-Anmeldeinformationen erstellt. Die SQL-Anmeldeinformationen werden von SQL Server Verwaltete Sicherung in Microsoft Azure während Sicherungsvorgängen verwendet, um sich beim Speicherkonto zu authentifizieren.

  2. Erstellen Sie SQL-Anmeldeinformationen: Erstellen Sie SQL-Anmeldeinformationen mit dem Namen des Speicherkontos als Identität und dem Speicherzugriffsschlüssel als Kennwort.

  3. Sicherstellen, dass der SQL Server-Agent-Dienst ausgeführt wird: Starten Sie den SQL Server-Agent, wenn er nicht ausgeführt wird. SQL Server Managed Backup für Microsoft Azure benötigt einen laufenden SQL Server-Agent auf der Instanz, um Sicherungsvorgänge durchführen zu können. Sie können den SQL-Agent automatisch ausführen lassen, um zu gewährleisten, dass regelmäßig Sicherungen ausgeführt werden können.

  4. Bestimmen Sie den Aufbewahrungszeitraum: Bestimmen Sie den Gewünschten Aufbewahrungszeitraum für die Sicherungsdateien. Die Beibehaltungsdauer wird in Tagen angegeben und kann zwischen 1 und 30 Tagen liegen. Die Beibehaltungsdauer bestimmt den Zeitraum für die Wiederherstellbarkeit der Datenbank.

  5. Erstellen Sie ein Zertifikat oder einen asymmetrischen Schlüssel, der während der Sicherung für die Verschlüsselung verwendet werden soll: Erstellen Sie das Zertifikat auf dem ersten Knoten Node1, und exportieren Sie es dann mithilfe von BACKUP CERTIFICATE (Transact-SQL) in eine Datei. Erstellen Sie auf Node2 mithilfe der von Node1 exportierten Datei ein Zertifikat. Weitere Informationen zum Erstellen eines Zertifikats aus einer Datei finden Sie im Beispiel unter CREATE CERTIFICATE (Transact-SQL).

  6. Aktivieren und konfigurieren Sie SQL Server Verwaltete Sicherung in Microsoft Azure für AGTestDB auf Node1: Starten Sie SQL Server Management Studio, und stellen Sie eine Verbindung mit dem instance auf Node1 her, in dem die Verfügbarkeitsdatenbank installiert ist. Führen Sie im Abfragefenster folgende Anweisung aus, nachdem Sie die Werte für Datenbankname, Speicher-URL, SQL-Anmeldeinformationen und Beibehaltungsdauer Ihren Anforderungen entsprechend angepasst haben:

    Use msdb;  
    GO  
    EXEC smart_admin.sp_set_db_backup   
                    @database_name='AGTestDB'   
                    ,@retention_days=30   
                    ,@credential_name='MyCredential'  
                    ,@encryption_algorithm ='AES_128'  
                    ,@encryptor_type= 'Certificate'  
                    ,@encryptor_name='MyBackupCert'  
                    ,@enable_backup=1;  
    GO  
    

    Weitere Informationen zum Erstellen eines Zertifikats für die Verschlüsselung finden Sie im Schritt Erstellen eines Sicherungszertifikats unter Erstellen einer verschlüsselten Sicherung.

  7. Aktivieren und konfigurieren Sie SQL Server Verwaltete Sicherung in Microsoft Azure für AGTestDB auf Node2: Starten Sie SQL Server Management Studio, und stellen Sie eine Verbindung mit dem instance auf Node2 her, in dem die Verfügbarkeitsdatenbank installiert ist. Führen Sie im Abfragefenster folgende Anweisung aus, nachdem Sie die Werte für Datenbankname, Speicher-URL, SQL-Anmeldeinformationen und Beibehaltungsdauer Ihren Anforderungen entsprechend angepasst haben:

    Use msdb;  
    GO  
    EXEC smart_admin.sp_set_db_backup   
                    @database_name='AGTestDB'   
                    ,@retention_days=30   
                    ,@credential_name='MyCredential'  
                    ,@encryption_algorithm ='AES_128'  
                    ,@encryptor_type= 'Certificate'  
                    ,@encryptor_name='MyBackupCert'  
                    ,@enable_backup=1;  
    GO  
    

    SQL Server Managed Backup für Microsoft Azure ist damit für die angegebene Datenbank aktiviert. Es kann bis zu 15 Minuten dauern, bis die Sicherungsvorgänge für die Datenbank gestartet werden. Die Sicherung wird auf dem bevorzugten Sicherungsreplikat durchgeführt.

  8. Überprüfen Sie die Standardkonfiguration für erweiterte Ereignisse: Überprüfen Sie die Konfiguration des erweiterten Ereignisses, indem Sie die folgende Transact-SQL-Anweisung für das Replikat ausführen, das SQL Server Managed Backup in Microsoft Azure zum Planen der Sicherungen verwendet. Dies ist i. d. R. die Einstellung für das bevorzugte Sicherungsreplikat der Verfügbarkeitsgruppe, zu der die Datenbank gehört.

    SELECT * FROM smart_admin.fn_get_current_xevent_settings(); 
    

    Sie sollten sehen, dass Admin-, Operational- und Analytical-Kanalereignisse standardmäßig aktiviert sind und nicht deaktiviert werden können. Dies sollte ausreichen, um alle Ereignisse zu überwachen, die ein manuelles Eingreifen erfordern. Sie können die Debugereignisse aktivieren, aber diese Kanäle umfassen Informations- und Debugereignisse, die SQL Server Verwaltete Sicherung in Microsoft Azure verwendet, um Probleme zu erkennen und zu beheben. Weitere Informationen finden Sie unter Überwachen SQL Server verwalteten Sicherungen in Azure.

  9. Aktivieren und Konfigurieren der Benachrichtigung für den Integritätsstatus: SQL Server Managed Backup für Microsoft Azure verfügt über eine gespeicherte Prozedur, die einen Agent-Auftrag erstellt, um E-Mail-Benachrichtigungen mit Fehlern oder Warnungen zu senden, die möglicherweise ein Eingreifen erfordern. Wenn Sie diese E-Mail-Benachrichtigungen erhalten möchten, müssen Sie das Ausführen der gespeicherten Prozedur aktivieren, durch die ein SQL Server-Agentauftrag erstellt wird. In den folgenden Schritten wird der Prozess zum Aktivieren und Konfigurieren der E-Mail-Benachrichtigungen beschrieben:

    1. Richten Sie Datenbank-E-Mail ein, falls diese Funktion auf der Instanz noch nicht aktiviert wurde. Weitere Informationen finden Sie unter Configure Database Mail.

    2. Konfigurieren Sie SQL Server-Agent-Benachrichtigungen für die Verwendung von Datenbank-E-Mail. Weitere Informationen finden Sie unter Konfigurieren von SQL Server-Agent-Mail zum Verwenden von Datenbank-E-Mails.

    3. Aktivieren der E-mail-Benachrichtigungen für den Empfang von Sicherungsfehlern und Warnungen: Führen Sie im Abfragefenster die folgenden Transact-SQL-Anweisungen aus:

      EXEC msdb.smart_admin.sp_set_parameter  
      @parameter_name = 'SSMBackup2WANotificationEmailIds',  
      @parameter_value = '<email>'  
      

      Weitere Informationen und ein vollständiges Beispielskript finden Sie unter Überwachen SQL Server verwalteten Sicherungen in Azure.

  10. Anzeigen von Sicherungsdateien im Azure Storage-Konto: Stellen Sie über SQL Server Management Studio oder das Azure-Verwaltungsportal eine Verbindung mit dem Speicherkonto her. Sie sehen einen Container für die instance von SQL Server, der die Datenbank hostet, die Sie für die Verwendung SQL Server Managed Backup in Microsoft Azure konfiguriert haben. Möglicherweise sehen Sie auch eine Datenbank und eine Protokollsicherung innerhalb von 15 Minuten, nachdem Sie SQL Server Verwaltete Sicherung in Microsoft Azure für die Datenbank aktiviert haben.

  11. Überwachen des Integritätsstatus: Sie können die zuvor konfigurierten E-Mail-Benachrichtigungen überwachen oder die protokollierten Ereignisse aktiv überwachen. Die folgenden Beispiele zeigen einige Transact-SQL-Anweisungen, mit denen die Ereignisse angezeigt werden können:

    --  view all admin events  
    Use msdb;  
    Go  
    DECLARE @startofweek datetime  
    DECLARE @endofweek datetime  
    SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)   
    SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)  
    
    DECLARE @eventresult TABLE  
    (event_type nvarchar(512),  
    event varchar (512),  
    timestamp datetime  
    )  
    
    INSERT INTO @eventresult  
    
    EXEC smart_admin.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek  
    
    SELECT * from @eventresult  
    WHERE event_type LIKE '%admin%'  
    
    -- to enable debug events  
    Use msdb;  
    Go  
    EXEC smart_admin.sp_set_parameter 'FileRetentionDebugXevent', 'True'  
    
    --  View all events in the current week  
    Use msdb;  
    Go  
    DECLARE @startofweek datetime  
    DECLARE @endofweek datetime  
    SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)   
    SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)  
    
    EXEC smart_admin.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek;  
    

Die in diesem Abschnitt beschriebenen Schritte sind speziell für die erste Konfiguration von SQL Server Managed Backup für Microsoft Azure für die Datenbank vorgesehen. Sie können die vorhandenen Konfigurationen mit derselben gespeicherten Systemprozedur smart_admin.sp_set_db_backup ändern und die neuen Werte angeben. Weitere Informationen finden Sie unter SQL Server Verwaltete Sicherung in Azure – Aufbewahrungs- und Speichereinstellungen.

Überlegungen zum Entfernen einer Datenbank aus der Konfiguration für eine AlwaysOn-Verfügbarkeitsgruppe

Wenn eine Datenbank aus der AlwaysOn-Verfügbarkeitsgruppenkonfiguration entfernt wird und jetzt eine eigenständige Datenbank ist, wird empfohlen, eine Sicherung mithilfe von smart_admin.sp_backup_on_demand (Transact-SQL) durchzuführen. Wenn Sie eine Datenbanksicherung auf diese Weise erstellen, wird eine neue Sicherungskette eingerichtet, und die Datei wird im instance spezifischen Container platziert, im Gegensatz zum Verfügbarkeitscontainer, in dem die Sicherungen gespeichert wurden, als die Datenbank Teil der Verfügbarkeitsgruppe war.

Warnung

Die Wiederherstellbarkeit der Datenbank in diesem Szenario aus Sicherungen, die vor der Änderung des Verfügbarkeitsgruppenstatus durchgeführt wurden, ist nicht gewährleistet.