Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server-
Dit artikel beschrijft hoe je een database-hoofdsleutel kunt herstellen in SQL Server met behulp van Transact-SQL. De database-hoofdsleutel versleutelt andere sleutels en certificaten binnen een database. Als deze is verwijderd of beschadigd, kan SQL Server die sleutels mogelijk niet ontsleutelen en gaat de data die ermee is versleuteld effectief verloren. Herstel de database-hoofdsleutel uit een back-up om toegang tot die sleutels te herstellen.
Limitations
Wanneer je de databasehoofdsleutel herstelt, ontsleutelt SQL Server alle sleutels die versleuteld zijn met de momenteel actieve databasehoofdsleutel, en versleutelt ze vervolgens met de herstelde databasehoofdsleutel. Plan deze resource-intensieve operatie in een periode van lage vraag. Als de huidige databasehoofdsleutel niet open is of niet geopend kan worden, of als een van de sleutels die ermee versleuteld is niet kan worden ontsleuteld, mislukt de herstelprocedure.
Als een van de ontsleutelingen faalt, mislukt het herstelproces. Je kunt de FORCE optie gebruiken om fouten te negeren, maar deze optie veroorzaakt verlies van data die niet ontsleuteld kan worden.
Als de service-hoofdsleutel de database-hoofdsleutel versleutelt, versleutelt hij ook de herstelde database-hoofdsleutel.
Als er geen database-hoofdsleutel in de huidige database staat, RESTORE MASTER KEY maakt hij een database-hoofdsleutel aan. De service-hoofdsleutel versleutelt de nieuwe database-hoofdsleutel niet automatisch.
Machtigingen
Vereist CONTROL machtiging voor de database.
Herstel de databasehoofdsleutel
De codevoorbeelden in dit artikel gebruiken de AdventureWorks2025 of AdventureWorksDW2025 voorbeelddatabase die u kunt downloaden van de startpagina van Microsoft SQL Server Samples en Community Projects .
Haal een kopie van de hoofdsleutel van de back-updatabase op, van een fysiek back-upmedium of een map op het lokale bestandssysteem.
Maak verbinding met de SQL Server-instantie die de database-hoofdsleutel bevat die je wilt herstellen. U kunt verbinding maken met een exemplaar van SQL Server met behulp van een vertrouwd SQL Server-clienthulpprogramma, zoals sqlcmd, SQL Server Management Studio (SSMS) of de MSSQL-extensie voor Visual Studio Code.
Bekijk en voer het volgende Transact-SQL-script uit.
In dit voorbeeld:
Je herstelt de database-hoofdsleutel voor
AdventureWorks2025van .C:\Temp\AdventureWorks2025_master_keyJe stelt een nieuw encryptiewachtwoord
<new-password>in. Pas deze instellingen aan om bij je omgeving te passen.
Caution
Je hebt het nieuwe wachtwoord nodig om in de toekomst de database hoofdsleutel te openen. Zorg ervoor dat je dit wachtwoord veilig en beveiligd opslaat.
USE AdventureWorks2025; GO RESTORE MASTER KEY FROM FILE = 'C:\Backups\Keys\AdventureWorks2025_master_key' DECRYPTION BY PASSWORD = '<password>' ENCRYPTION BY PASSWORD = '<new-password>'; GO