Delen via


Een databasehoofdsleutel herstellen

van toepassing op:SQL Server-

In dit onderwerp wordt beschreven hoe u de hoofdsleutel van de database in SQL Server herstelt met behulp van Transact-SQL.

Voordat u begint

Beperkingen en beperkingen

  • Wanneer de hoofdsleutel wordt hersteld, ontsleutelt SQL Server alle sleutels die zijn versleuteld met de momenteel actieve hoofdsleutel en versleutelt deze sleutels vervolgens met de herstelde hoofdsleutel. Deze resource-intensieve bewerking moet worden gepland tijdens een periode van lage vraag. Als de huidige hoofdsleutel van de database niet is geopend of niet kan worden geopend, of als een van de sleutels die hiermee zijn versleuteld, niet kan worden ontsleuteld, mislukt de herstelbewerking.

  • Als een van de ontsleutelingen mislukt, mislukt de herstelbewerking. U kunt de optie FORCE gebruiken om fouten te negeren, maar deze optie veroorzaakt het verlies van gegevens die niet kunnen worden ontsleuteld.

  • Als de hoofdsleutel is versleuteld door de hoofdsleutel van de service, wordt de herstelde hoofdsleutel ook versleuteld door de hoofdsleutel van de service.

  • Als de huidige database geen hoofdsleutel bevat, maakt RESTORE MASTER KEY een hoofdsleutel. De nieuwe hoofdsleutel wordt niet automatisch versleuteld met de servicehoofdsleutel.

Veiligheid

Machtigingen

Vereist control-machtiging voor de database.

SQL Server Management Studio gebruiken met Transact-SQL

De hoofdsleutel van de database herstellen

  1. Haal een kopie van de hoofdsleutel van de back-updatabase op, van een fysiek back-upmedium of een map op het lokale bestandssysteem.

  2. Maak in de Objectverkennerverbinding met een exemplaar van de Database Engine.

  3. Klik op de Standaardbalk en selecteer Nieuwe query.

  4. Kopieer en plak het volgende voorbeeld in het queryvenster en klik op uitvoeren.

    -- 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  
    

    Notitie

    Het bestandspad naar de sleutel en het wachtwoord van de sleutel (indien aanwezig) zijn anders dan hierboven wordt aangegeven. Zorg ervoor dat beide specifiek zijn voor uw server- en sleutelset-up.

Zie ook