Freigeben über


Schnellstart: SQL-Sicherung und -Wiederherstellung auf S3-kompatiblem Objektspeicher

Gilt für: SQL Server 2022 (16.x)

Dieser Schnellstart hilft Ihnen zu verstehen, wie Sie Backups in einen S3-kompatiblen Objektspeicher schreiben und von dort wiederherstellen können.

Hinweis

SQL Server 2022 hat Unterstützung für die Sicherung und Wiederherstellung aus S3-kompatiblem Objektspeicher eingeführt. SQL Server 2019 und frühere Versionen unterstützen diese Funktion nicht.

Voraussetzungen

Um diesen Schnellstart zu absolvieren, müssen Sie mit den Konzepten zur Sicherung und Wiederherstellung von SQL Server und der Transact-SQL (T-SQL) Syntax vertraut sein. Sie benötigen einen S3-Endpunkt, SQL Server Management Studio (SSMS) und Zugriff auf einen Server, auf dem SQL Server oder Azure SQL Managed Instance läuft. Darüber hinaus sollte sich das Konto, das zum Ausgeben der Befehle BACKUP und RESTORE verwendet wurde, in der db_backupoperator Datenbankrolle mit ALTER ANY CREDENTIAL-Berechtigungen befinden und über CREATE DATABASE-Berechtigungen verfügen, um eine neue Datenbank wiederherzustellen, oder Mitglied der festen Serverrolle sysadmin und dbcreator fixed server Rolle oder Besitzer (dbo) der Datenbank sein, wenn eine vorhandene Datenbank wiederhergestellt wird.

Erstellen einer Testdatenbank

In diesem Schritt erstellen Sie mithilfe von SQL Server Management Studio (SSMS) eine Testdatenbank.

  1. Starten Sie SQL Server Management Studio (SSMS), und stellen Sie eine Verbindung mit Ihrer SQL Server-Instanz her.

  2. Öffnen Sie das Fenster Neue Abfrage.

  3. Führen Sie den folgenden T-SQL-Code aus, um die Testdatenbank zu erstellen. Aktualisieren Sie den Knoten Datenbanken im Objekt-Explorer, um Ihre neue Datenbank anzuzeigen. Für neu erstellte Datenbanken in SQL Managed Instance ist TDE automatisch aktiviert. Sie müssen dies also deaktivieren, um fortzufahren.

    USE [master];
    GO
    
    -- Create database
    CREATE DATABASE [SQLTestDB];
    GO
    
    -- Create table in database
    USE [SQLTestDB];
    GO
    CREATE TABLE SQLTest (
        ID INT NOT NULL PRIMARY KEY,
        c1 VARCHAR(100) NOT NULL,
        dt1 DATETIME NOT NULL DEFAULT GETDATE()
    );
    GO
    
    -- Populate table 
    USE [SQLTestDB];
    GO
    
    INSERT INTO SQLTest (ID, c1) VALUES (1, 'test1');
    INSERT INTO SQLTest (ID, c1) VALUES (2, 'test2');
    INSERT INTO SQLTest (ID, c1) VALUES (3, 'test3');
    INSERT INTO SQLTest (ID, c1) VALUES (4, 'test4');
    INSERT INTO SQLTest (ID, c1) VALUES (5, 'test5');
    GO
    
    SELECT * FROM SQLTest;
    GO
    
    -- Disable TDE for newly-created databases on SQL Managed Instance 
    USE [SQLTestDB];
    GO
    ALTER DATABASE [SQLTestDB] SET ENCRYPTION OFF;
    GO
    DROP DATABASE ENCRYPTION KEY;
    GO
    

Erstellen von Anmeldeinformationen

Um die SQL Server-Anmeldeinformationen für die Authentifizierung zu erstellen, gehen Sie wie folgt vor:

  1. Starten Sie SQL Server Management Studio (SSMS), und stellen Sie eine Verbindung mit Ihrer SQL Server-Instanz her.

  2. Öffnen Sie das Fenster Neue Abfrage.

  3. Erstellung einer Zugangsberechtigung auf Serverebene. Der Name der Anmeldeinformationen hängt von der S3-kompatiblen Speicherplattform ab. Im Gegensatz zu PolyBase-Anmeldeinformationen mit Datenbankbereich werden Sicherungs-/Wiederherstellungs-Anmeldeinformationen auf Instanzebene gespeichert. Bei Verwendung mit S3-kompatiblem Speicher müssen die Anmeldeinformationen gemäß dem URL-Pfad benannt werden.

    CREATE CREDENTIAL [s3://<endpoint>:<port>/<bucket>]
    WITH
            IDENTITY    = 'S3 Access Key',
            SECRET      = '<AccessKeyID>:<SecretKeyID>';
    GO
    

Hinweis

Weitere Beispiele für S3-kompatiblen Speicher für Serveranmeldeinformationen finden Sie unter CREATE CREDENTIAL (Transact-SQL).

Sichern der Datenbank

Sichern Sie in diesem Schritt die Datenbank SQLTestDB mit T-SQL in Ihrem S3-kompatiblen Objektspeicher.

Sichern Sie Ihre Datenbank mithilfe von T-SQL, indem Sie den folgenden Befehl ausführen:

USE [master];
GO

BACKUP DATABASE [SQLTestDB]
TO      URL = 's3://<endpoint>:<port>/<bucket>/SQLTestDB.bak'
WITH    FORMAT /* overwrite any existing backup sets */
,       STATS = 10
,       COMPRESSION;

Löschen von Datenbanken

In diesem Schritt löschen Sie die Datenbank, bevor Sie die Wiederherstellung durchführen. Dieser Schritt ist nur für die Zwecke dieses Tutorials erforderlich, bei normalen Datenbank-Verwaltungsverfahren aber eher unwahrscheinlich. Sie können diesen Schritt überspringen, aber dann müssen Sie entweder den Namen der Datenbank während der Wiederherstellung auf Azure SQL Managed Instance ändern oder den Wiederherstellungsbefehl WITH REPLACE ausführen, um die Datenbank erfolgreich vor Ort wiederherzustellen.

  1. Erweitern Sie im Objekt-Explorer den Knoten Datenbanken, klicken Sie mit der rechten Maustaste auf die SQLTestDB-Datenbank, und wählen Sie „Löschen“ aus, um den Assistenten Objekt löschen zu starten.
  2. Wählen Sie auf Azure SQL Managed Instance OK, um die Datenbank zu löschen. Aktivieren Sie lokal das Kontrollkästchen neben Bestehende Verbindungen schließen, und klicken Sie dann auf OK, um die Datenbank zu löschen.

Datenbank wiederherstellen

In diesem Schritt stellen Sie die Datenbank entweder über die grafische Benutzeroberfläche von SQL Server Management Studio oder mit Transact-SQL wieder her.

  1. Klicken Sie in SQL Server Management Studio im Objekt-Explorer mit der rechten Maustaste auf den Knoten Datenbanken, und wählen Sie dann Datenbank wiederherstellen aus.

  2. Klicken Sie auf Gerät und dann auf die Auslassungspunkte (...), um das Gerät zu wählen.

    Screenshot: Bildschirm zum Hinzufügen von Geräten.

  3. Wählen Sie URL in der Dropdownliste Sicherungsmedientyp aus, und klicken Sie auf Hinzufügen, um Ihr Gerät hinzuzufügen.

    Screenshot: Bildschirm zum Hinzufügen von Sicherungs-Geräten.

  4. Geben Sie die URL des virtuellen Hosts ein und fügen Sie die Secret Key ID und die Access Key ID für den S3-kompatiblen Objektspeicher ein.

    Screenshot des Dialogfelds Speicherort der S3-Sicherungsdatei auswählen mit ausgefüllten Feldern URL und Schlüssel.

  5. Klicken Sie auf OK, um den Speicherort der Sicherungsdatei auszuwählen.

  6. Klicken Sie auf OK, um das Dialogfeld Sicherungsmedien auswählen zu schließen.

  7. Klicken Sie auf OK, um die Datenbank wiederherzustellen.

Im Folgenden finden Sie einige Literaturempfehlungen zum Verständnis der Konzepte und bewährten Verfahren bei der Verwendung von S3-kompatiblem Objektspeichern für SQL Server-Backups.