Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Tento článek popisuje, jak obnovit hlavní klíč databáze v SQL Server pomocí Transact-SQL. Hlavní klíč databáze šifruje další klíče a certifikáty uvnitř databáze. Pokud je smazán nebo poškozen, SQL Server nemusí být schopen tyto klíče dešifrovat a data zašifrovaná jimi jsou fakticky ztracena. Obnovte hlavní klíč databáze ze zálohy, abyste získali přístup k těmto klíčům.
Limitations
Když obnovíte hlavní klíč databáze, SQL Server dešifruje všechny klíče zašifrované aktuálně aktivním hlavním klíčem databáze a poté je zašifruje obnoveným hlavním klíčem databáze. Tuto náročnou operaci naplánujte v období nízké poptávky. Pokud není aktuální hlavní klíč databáze otevřený nebo jej nelze otevřít, nebo pokud některý z klíčů jím zašifrovaných nelze dešifrovat, operace obnovy selže.
Pokud některá z dešifrací selže, obnovení selže. Můžete použít FORCE možnost ignorovat chyby, ale tato možnost způsobí ztrátu všech dat, která nelze dešifrovat.
Pokud hlavní klíč služby zašifruje hlavní klíč databáze, zašifruje také obnovený hlavní klíč databáze.
Pokud v aktuální databázi není hlavní klíč databáze, vytvoří RESTORE MASTER KEY hlavní klíč databáze. Hlavní klíč služby automaticky nešifruje nový hlavní klíč databáze.
Dovolení
Vyžaduje CONTROL oprávnění k databázi.
Obnovení hlavního klíče databáze
Ukázky kódu v tomto článku používají ukázkovou databázi AdventureWorks2025 nebo AdventureWorksDW2025, kterou si můžete stáhnout z domovské stránky Microsoft SQL Serveru pro ukázky a komunitní projekty .
Načtěte kopii hlavního klíče zálohované databáze buď z fyzického záložního média, nebo z adresáře na místním souborovém systému.
Připojte se k instanci SQL Server, která obsahuje hlavní klíč databáze, který chcete obnovit. K instanci SQL Serveru se můžete připojit pomocí libovolného známého klientského nástroje SQL Serveru, jako je sqlcmd, SQL Server Management Studio (SSMS) nebo rozšíření MSSQL pro Visual Studio Code.
Zkontrolujte a spustěte následující Transact-SQL skript.
V tomto příkladu:
Obnovíte hlavní klíč databáze pro
AdventureWorks2025zC:\Temp\AdventureWorks2025_master_key.Nastavíte nové šifrovací heslo
<new-password>. Nastavte tato nastavení tak, aby odpovídala vašemu prostředí.
Caution
Nové heslo potřebujete, abyste mohli v budoucnu otevřít hlavní klíč databáze. Ujistěte se, že toto heslo bezpečně a spolehlivě uložíte.
USE AdventureWorks2025; GO RESTORE MASTER KEY FROM FILE = 'C:\Backups\Keys\AdventureWorks2025_master_key' DECRYPTION BY PASSWORD = '<password>' ENCRYPTION BY PASSWORD = '<new-password>'; GO