CREATE MASTER KEY (Transact-SQL)CREATE MASTER KEY (Transact-SQL)

DIESES THEMA GILT FÜR: jaSQL Server (ab 2008)jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Erstellt einen Datenbank-Hauptschlüssel.Creates a database master key.

Themenlinksymbol Transact-SQL Syntax Conventions (Transact-SQL-Syntaxkonventionen)Topic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

-- Syntax for SQL Server and Parallel Data Warehouse  

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'  
[ ; ]  
-- Syntax for Azure SQL Database and Azure SQL Data Warehouse  

CREATE MASTER KEY [ ENCRYPTION BY PASSWORD ='password' ]
[ ; ]  

ArgumenteArguments

Kennwort = "Kennwort"PASSWORD ='password'
Das zum Verschlüsseln des Datenbank-Hauptschlüssels verwendete Kennwort.Is the password that is used to encrypt the master key in the database. Kennwort erfüllt die Anforderungen der Windows-Kennwortrichtlinien des Computers, der die Instanz ausgeführt wird SQL ServerSQL Server.password must meet the Windows password policy requirements of the computer that is running the instance of SQL ServerSQL Server. Kennwort ist optional, SQL-DatenbankSQL Database und SQL Data WarehouseSQL Data Warehouse.password is optional in SQL-DatenbankSQL Database and SQL Data WarehouseSQL Data Warehouse.

HinweiseRemarks

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.The database master key is a symmetric key used to protect the private keys of certificates and asymmetric keys that are present in the database. Beim Erstellen wird der Hauptschlüssel mithilfe des AES_256-Algorithmus und eines vom Benutzer angegebenen Kennworts verschlüsselt.When it is created, the master key is encrypted by using the AES_256 algorithm and a user-supplied password. In SQL Server 2008SQL Server 2008 und SQL Server 2008 R2SQL Server 2008 R2wird der Triple DES-Algorithmus verwendet.In SQL Server 2008SQL Server 2008 and SQL Server 2008 R2SQL Server 2008 R2, the Triple DES algorithm is used. 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.To enable the automatic decryption of the master key, a copy of the key is encrypted by using the service master key and stored in both the database and in master. In der Regel wird die in master gespeicherte Kopie im Hintergrund aktualisiert, sobald der Hauptschlüssel geändert wird.Typically, the copy stored in master is silently updated whenever the master key is changed. Diese Standardeinstellung kann geändert werden, mithilfe der DROP ENCRYPTION BY SERVICE MASTER KEY-Option von ALTER MASTER KEY.This default can be changed by using the DROP ENCRYPTION BY SERVICE MASTER KEY option of ALTER MASTER KEY. Ein Hauptschlüssel, der nicht mit dem Diensthauptschlüssel verschlüsselt ist muss geöffnet werden, mithilfe der OPEN MASTER KEY -Anweisung und eines Kennworts.A master key that is not encrypted by the service master key must be opened by using the OPEN MASTER KEY statement and a password.

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.The is_master_key_encrypted_by_server column of the sys.databases catalog view in master indicates whether the database master key is encrypted by the service master key.

Informationen zum Datenbank-Hauptschlüssel werden in der sys.symmetric_keys-Katalogsicht angezeigt.Information about the database master key is visible in the sys.symmetric_keys catalog view.

Für SQL Server und Parallel Data Warehouse wird der Hauptschlüssel in der Regel durch den Diensthauptschlüssel und mindestens ein Kennwort geschützt.For SQL Server and Parallel Data Warehouse, the Master Key is typically protected by the Service Master Key and at least one password. Bei der Datenbank auf einen anderen Server (Log shipping, Wiederherstellung, Sicherung usw.) physisch versetzt enthält die Datenbank eine Kopie des Hauptschlüssels mit dem ursprünglichen Server mit dem Diensthauptschlüssel verschlüsselt wird, (es sei denn, diese Verschlüsselung mit explizit entfernt wurde ALTER MASTER KEY DDL), und eine Kopie des Zertifikats jedes Verschlüsselungskennwort angegeben werden, während CREATE MASTER KEY oder nachfolgende ALTER MASTER KEY-DDL-Vorgänge.In case of the database being physically moved to a different server (log shipping, restoring backup, etc.), the database will contain a copy of the master Key encrypted by the original server Service Master Key (unless this encryption was explicitly removed using ALTER MASTER KEY DDL), and a copy of it encrypted by each password specified during either CREATE MASTER KEY or subsequent ALTER MASTER KEY DDL operations. Zum Wiederherstellen der Master-Schlüssel und alle Daten verschlüsselt, mit dem Hauptschlüssel als Stamm in die Schlüsselhierarchie, nachdem die Datenbank verschoben wurde, wird der Benutzer entweder mit OPEN MASTER KEY-Anweisung mit einem Kennwort verwendet, um die Hauptschlüssel geschützt haben. , Wiederherstellen einer Sicherung des Hauptschlüssels aus, oder stellen Sie eine Sicherung der ursprünglichen Service Master Key, auf dem neuen Server wieder her.In order to recover the Master Key, and all the data encrypted using the Master Key as the root in the key hierarchy after the database has been moved, the user will have either use OPEN MASTER KEY statement using one of the password used to protect the Master Key, restore a backup of the Master Key, or restore a backup of the original Service Master Key on the new server.

Für SQL-DatenbankSQL Database und SQL Data WarehouseSQL Data Warehouse, den Kennwortschutz wird nicht als ein Sicherheitsmechanismus, um einem Datenverlust in Situationen, in denen möglicherweise die Datenbank von einem Server, in eine andere verschoben werden, zu verhindern, wie der Diensthauptschlüssel Schutz auf den Hauptschlüssel wird verwaltet von Microsoft Azure-Plattform.For SQL-DatenbankSQL Database and SQL Data WarehouseSQL Data Warehouse, the password protection is not considered to be a safety mechanism to prevent a data loss scenario in situations where the database may be moved from one server to another, as the Service Master Key protection on the Master Key is managed by Microsoft Azure platform. Deshalb ist das Kennwort für den Schlüssel Maser optional in SQL-DatenbankSQL Database und SQL Data WarehouseSQL Data Warehouse.Therefore, the Maser Key password is optional in SQL-DatenbankSQL Database and SQL Data WarehouseSQL Data Warehouse.

Wichtig

Sichern Sie den Hauptschlüssel mithilfe von BACKUP MASTER KEY und die Sicherungskopie an einem sicheren Ort außerhalb Ihrer Geschäftsräume aufbewahren.You should back up the master key by using BACKUP MASTER KEY and store the backup in a secure, off-site location.

Der Diensthauptschlüssel und die Datenbank-Hauptschlüssel werden mit dem AES-256-Algorithmus geschützt.The service master key and database master keys are protected by using the AES-256 algorithm.

BerechtigungenPermissions

Erfordert die CONTROL-Berechtigung für die Datenbank.Requires CONTROL permission on the database.

BeispieleExamples

Das folgende Beispiel erstellt einen Datenbank-Hauptschlüssel für die aktuelle Datenbank.The following example creates a database master key for the current database. Der Schlüssel wird mit dem Kennwort 23987hxJ#KL95234nl0zBe verschlüsselt.The key is encrypted using the password 23987hxJ#KL95234nl0zBe.

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe';  
GO  

Siehe auchSee Also

Sys. symmetric_keys ( Transact-SQL ) sys.symmetric_keys (Transact-SQL)
sys.databases (Transact-SQL) sys.databases (Transact-SQL)
Öffnen Sie MASTER KEY ( Transact-SQL ) OPEN MASTER KEY (Transact-SQL)
ALTER MASTER KEY (Transact-SQL) ALTER MASTER KEY (Transact-SQL)
DROP MASTER KEY ( Transact-SQL ) DROP MASTER KEY (Transact-SQL)
CLOSE MASTER KEY ( Transact-SQL ) CLOSE MASTER KEY (Transact-SQL)
VerschlüsselungshierarchieEncryption Hierarchy