Freigeben über


Erstellen einer verschlüsselten Sicherung

In diesem Thema werden die Schritte beschrieben, die zum Erstellen einer verschlüsselten Sicherung mit Transact-SQL erforderlich sind.

Sicherung auf Datenträger mit Verschlüsselung

Voraussetzungen:

  • Zugriff auf einen lokalen Datenträger oder speicher mit ausreichendem Speicherplatz, um eine Sicherung der Datenbank zu erstellen.

  • Ein Datenbankmasterschlüssel für die Masterdatenbank und ein Zertifikat oder asymmetrischer Schlüssel, der in der SQL Server-Instanz verfügbar ist. Informationen zu Verschlüsselungsanforderungen und Berechtigungen finden Sie unter "Sicherungsverschlüsselung".

Führen Sie die folgenden Schritte aus, um eine verschlüsselte Sicherung einer Datenbank auf einem lokalen Datenträger zu erstellen. In diesem Beispiel wird eine Benutzerdatenbank namens MyTestDB verwendet.

  1. Erstellen Sie einen Datenbankmasterschlüssel der Masterdatenbank: Wählen Sie ein Kennwort zum Verschlüsseln der Kopie des Hauptschlüssels aus, der in der Datenbank gespeichert wird. Stellen Sie eine Verbindung mit dem Datenbankmodul her, starten Sie ein neues Abfragefenster, kopieren und einfügen Sie das folgende Beispiel, und klicken Sie auf "Ausführen".

    -- Creates a database master key.   
    -- The key is encrypted using the password "<master key password>"  
    USE master;  
    GO  
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master key password>';  
    GO  
    
    
  2. Erstellen eines Sicherungszertifikats: Erstellen Sie ein Sicherungszertifikat in der Masterdatenbank. Kopieren Sie das folgende Beispiel, und fügen Sie es in das Abfragefenster ein, und klicken Sie auf "Ausführen".

    Use Master  
    GO  
    CREATE CERTIFICATE MyTestDBBackupEncryptCert  
       WITH SUBJECT = 'MyTestDB Backup Encryption Certificate';  
    GO  
    
    
  3. Sichern sie die Datenbank: Geben Sie den zu verwendenden Verschlüsselungsalgorithmus und das zu verwendende Zertifikat an. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.

    BACKUP DATABASE [MyTestDB]  
    TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\MyTestDB.bak'  
    WITH  
      COMPRESSION,  
      ENCRYPTION   
       (  
       ALGORITHM = AES_256,  
       SERVER CERTIFICATE = MyTestDBBackupEncryptCert  
       ),  
      STATS = 10  
    GO  
    
    

Ein Beispiel für die Verschlüsselung einer sicherung, die durch eine EKM geschützt ist, finden Sie unter Extensible Key Management Using Azure Key Vault (SQL Server).

Sicherung in Azure Storage mit Verschlüsselung

Wenn Sie eine Sicherung im Azure-Speicher mithilfe der Option "SQL Server Backup to URL " erstellen, sind die Verschlüsselungsschritte identisch, aber Sie müssen die URL als Ziel und eine SQL-Anmeldeinformationen verwenden, um sich beim Azure-Speicher zu authentifizieren. Wenn Sie SQL Server Managed Backup mit Verschlüsselungsoptionen für Microsoft Azure konfigurieren möchten, lesen Sie das Einrichten der sql Server Managed Backup für Azure und das Einrichten der SQL Server Managed Backup für Azure für Verfügbarkeitsgruppen.

Voraussetzungen:

  • Ein Windows-Speicherkonto und ein Container. Weitere Informationen finden Sie unter. Lektion 1: Erstellen von Azure Storage-Objekten.

  • Ein Datenbankmasterschlüssel für die Masterdatenbank und ein Zertifikat oder asymmetrischer Schlüssel in der SQL Server-Instanz. Informationen zu Verschlüsselungsanforderungen und Berechtigungen finden Sie unter "Sicherungsverschlüsselung".

  1. SQL Server-Anmeldeinformationen erstellen: Um eine SQL Server-Anmeldeinformationen zu erstellen, stellen Sie eine Verbindung mit dem Datenbankmodul her, öffnen Sie ein neues Abfragefenster, kopieren und einfügen Sie das folgende Beispiel, und klicken Sie auf "Ausführen".

    CREATE CREDENTIAL mycredential   
    WITH IDENTITY= 'mystorageaccount' - this is the name of the storage account you specified when creating a storage account    
    , SECRET = '<storage account access key>' - this should be either the Primary or Secondary Access Key for the storage account  
    
  2. Erstellen eines Datenbankmasterschlüssels: Wählen Sie ein Kennwort zum Verschlüsseln der Kopie des Hauptschlüssels aus, der in der Datenbank gespeichert wird. Stellen Sie eine Verbindung mit dem Datenbankmodul her, starten Sie ein neues Abfragefenster, kopieren und einfügen Sie das folgende Beispiel, und klicken Sie auf "Ausführen".

    -- Creates a database master key.  
    -- The key is encrypted using the password "<master key password>"  
    USE Master;  
    GO  
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master key password>';  
    GO  
    
    
  3. Erstellen eines Sicherungszertifikats: Erstellen Sie ein Sicherungszertifikat in der Masterdatenbank. Kopieren Sie das folgende Beispiel, und fügen Sie es in das Abfragefenster ein, und klicken Sie auf "Ausführen".

    USE Master;  
    GO  
    CREATE CERTIFICATE MyTestDBBackupEncryptCert  
       WITH SUBJECT = 'MyTestDBBackupEncryptCert ';  
    GO  
    
    
  4. Sichern sie die Datenbank: Geben Sie den Verschlüsselungsalgorithmus und das zu verwendende Zertifikat an. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.

    BACKUP DATABASE [MyTestDB]  
    TO URL = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\MyTestDB.bak'  
    WITH  
      CREDENTIAL 'mycredential' - this is the name of the credential created in the first step.  
      ,COMPRESSION  
      ,ENCRYPTION   
       (  
       ALGORITHM = AES_256,  
       SERVER CERTIFICATE = MyTestDBBackupEncryptCert  
       ),  
      STATS = 10  
    GO