CREATE MASTER KEY (Transact-SQL)
Erstellt einen Datenbank-Hauptschlüssel.
Transact-SQL-Syntaxkonventionen
Syntax
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'
Argumente
- PASSWORD ='password'
Das zum Verschlüsseln des Datenbank-Hauptschlüssels verwendete Kennwort.
Hinweise
Der Datenbank-Hauptschlüssel ist ein symmetrischer Schlüssel, der zum Schützen von privaten Schlüsseln der in der Datenbank vorhandenen Zertifikate und asymmetrischen Schlüssel verwendet wird. Beim Erstellen wird der Hauptschlüssel mithilfe des Triple DES-Algorithmus und eines vom Benutzer angegebenen Kennwortes verschlüsselt. Die automatische Entschlüsselung für den Hauptschlüssel kann aktiviert werden, indem eine Kopie des Schlüssels mit dem Diensthauptschlüssel verschlüsselt und sowohl in der Datenbank als auch in master gespeichert wird. In der Regel wird die in master gespeicherte Kopie im Hintergrund aktualisiert, sobald der Hauptschlüssel geändert wird. Dieses Standardverhalten kann mithilfe der DROP ENCRYPTION BY SERVICE MASTER KEY-Option von ALTER MASTER KEY geändert werden. Ein Hauptschlüssel, der nicht mit dem Diensthauptschlüssel verschlüsselt ist, muss mithilfe der OPEN MASTER KEY-Anweisung und eines Kennwortes geöffnet werden.
In der is_master_key_encrypted_by_server-Spalte der sys.databases-Katalogsicht in master wird angezeigt, ob der Datenbank-Hauptschlüssel mit dem Diensthauptschlüssel verschlüsselt ist.
Informationen zum Datenbank-Hauptschlüssel werden in der sys.symmetric_keys-Katalogsicht angezeigt.
Wichtig: |
---|
Es wird empfohlen, dass Sie mithilfe von BACKUP MASTER KEY eine Sicherung des Hauptschlüssels erstellen und an einem sicheren Ort außerhalb Ihrer Geschäftsräume aufbewahren. |
Berechtigungen
Erfordert die CONTROL-Berechtigung in der Datenbank.
Beispiele
Im folgenden Beispiel wird ein Datenbank-Hauptschlüssel für die AdventureWorks
-Datenbank erstellt. Der Schlüssel wird mit dem Kennwort 23987hxJ#KL95234nl0zBe
verschlüsselt.
USE AdventureWorks;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe';
GO
Siehe auch
Verweis
sys.symmetric_keys (Transact-SQL)
sys.databases (Transact-SQL)
OPEN MASTER KEY (Transact-SQL)
ALTER MASTER KEY (Transact-SQL)
DROP MASTER KEY (Transact-SQL)
CLOSE MASTER KEY (Transact-SQL)