Freigeben über


Wiederherstellen eines Datenbankhauptschlüssels

Gilt für: SQL Server

In diesem Thema wird beschrieben, wie der Datenbankhauptschlüssel in SQL Server mithilfe von Transact-SQL wiederhergestellt wird.

Voraussetzungen

Einschränkungen

  • Bei der Wiederherstellung des Hauptschlüssels werden alle Schlüssel von SQL Server entschlüsselt, die mit dem aktuell aktiven Hauptschlüssel verschlüsselt sind. Diese Schlüssel werden dann mit dem wiederhergestellten Hauptschlüssel verschlüsselt. Die Ausführung dieses ressourcenintensiven Vorgangs sollte außerhalb der Hauptzeiten geplant werden. Falls der aktuelle Datenbank-Hauptschlüssel nicht geöffnet ist oder nicht geöffnet werden kann oder falls einer der Schlüssel, die mit ihm verschlüsselt sind, nicht entschlüsselt werden kann, ist der Wiederherstellungsvorgang nicht möglich.

  • Falls einer dieser Entschlüsselungsvorgänge nicht erfolgreich ausgeführt werden kann, tritt bei der Wiederherstellung ein Fehler auf. Sie können die FORCE-Option verwenden, um Fehler zu ignorieren, dies kann jedoch zum Verlust von Daten führen, die nicht entschlüsselt werden können.

  • Wurde der Hauptschlüssel mit dem Diensthauptschlüssel verschlüsselt, wird auch der wiederhergestellte Hauptschlüssel mit dem Diensthauptschlüssel verschlüsselt.

  • Falls in der aktuellen Datenbank kein Hauptschlüssel vorhanden ist, wird durch RESTORE MASTER KEY ein Hauptschlüssel erstellt. Der neue Hauptschlüssel wird nicht automatisch mit dem Diensthauptschlüssel verschlüsselt.

Sicherheit

Berechtigungen

Erfordert die CONTROL-Berechtigung für die Datenbank.

Verwenden von SQL Server Management Studio mit Transact-SQL

So stellen Sie den Datenbank-Hauptschlüssel wieder her

  1. Rufen Sie entweder von einem physischen Sicherungsmedium oder einem Verzeichnis im lokalen Dateisystem eine Kopie des gesicherten Datenbank-Hauptschlüssels ab.

  2. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  3. Klicken Sie in der Standardleiste auf Neue Abfrage.

  4. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.

    -- Restores the database master key of the AdventureWorks2022 database.  
    USE AdventureWorks2022;  
    GO  
    RESTORE MASTER KEY   
        FROM FILE = 'c:\backups\keys\AdventureWorks2022_master_key'   
        DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04'   
        ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD';  
    GO  
    

    Hinweis

    Der Dateipfad zum Schlüssel und das Kennwort (sofern es vorhanden ist) des Schlüssels unterscheiden sich von den obigen Informationen. Stellen Sie sicher, dass beide für den Server und die Schlüsseleinrichtung spezifisch sind.

Siehe auch