OPEN MASTER KEY (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL-Datenbank in Microsoft Fabric
Öffnet den Datenbank-Hauptschlüssel der aktuellen Datenbank.
Transact-SQL-Syntaxkonventionen
Syntax
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password'
Hinweis
Diese Syntax wird vom serverlosen SQL-Pool in Azure Synapse Analytics nicht unterstützt.
Argumente
'password'
Das Kennwort, mit dem der Datenbank-Hauptschlüssel verschlüsselt wurde.
Hinweise
Falls der Datenbank-Hauptschlüssel mit dem Diensthauptschlüssel verschlüsselt wurde, wird er bei Bedarf zum Entschlüsseln oder Verschlüsseln automatisch geöffnet. In diesem Fall ist die Verwendung der OPEN MASTER KEY-Anweisung nicht erforderlich.
Wird eine Datenbank zum ersten Mal an eine neue Instanz von SQL Serverangefügt oder wiederhergestellt, ist noch keine Kopie des Datenbank-Hauptschlüssels (verschlüsselt vom Diensthauptschlüssel) auf dem Server gespeichert. Der Datenbank-Hauptschlüssel (Database Master Key, DMK) muss mithilfe der Anweisung OPEN MASTER KEY entschlüsselt werden. Nachdem der Datenbank-Hauptschlüssel entschlüsselt wurde, können Sie für die Zukunft die automatische Entschlüsselung aktivieren, indem Sie die Anweisung ALTER MASTER KEY REGENERATE verwenden. Auf diese Weise können Sie eine Kopie des mit dem Diensthauptschlüssel (Service Master Key, SMK) verschlüsselten Datenbank-Hauptschlüssels für den Server bereitstellen. Wenn eine Datenbank von einer früheren Version aktualisiert wurde, sollte der DMK neu generiert werden, damit er den neueren AES-Algorithmus verwendet. Weitere Informationen zum Neugenerieren des DMK finden Sie unter ALTER MASTER KEY (Transact-SQL). Die zum Neugenerieren des DMK zum Upgrade auf AES erforderliche Zeit hängt von der Anzahl der Objekte ab, die durch den DMK geschützt werden. Der DMK muss nur einmal auf AES aktualisiert und neu generiert werden. Dies hat keine Auswirkungen auf zukünftige Neugenerierungen im Rahmen einer Schlüsselrotationsstrategie.
Sie können den Datenbank-Hauptschlüssel einer bestimmten Datenbank aus der automatischen Schlüsselverwaltung ausschließen, indem Sie die ALTER MASTER KEY-Anweisung mit der DROP ENCRYPTION BY SERVICE MASTER KEY-Option verwenden. Anschließend müssen Sie den Datenbank-Hauptschlüssel explizit mit einem Kennwort öffnen.
Falls für eine Transaktion, in der der Datenbank-Hauptschlüssel explizit geöffnet wurde, ein Rollback ausgeführt wird, bleibt der Schlüssel geöffnet.
Berechtigungen
Erfordert die CONTROL-Berechtigung für die Datenbank.
Beispiele
Im folgenden Beispiel wird der Datenbank-Hauptschlüssel der AdventureWorks2022
-Datenbank geöffnet, der mit einem Kennwort verschlüsselt wurde.
USE AdventureWorks2022;
OPEN MASTER KEY DECRYPTION BY PASSWORD = '43987hkhj4325tsku7';
GO
Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)
Im folgenden Beispiel wird der Datenbank-Hauptschlüssel geöffnet, der mit einem Kennwort verschlüsselt wurde.
USE master;
OPEN MASTER KEY DECRYPTION BY PASSWORD = '43987hkhj4325tsku7';
GO
CLOSE MASTER KEY;
GO