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

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaAzure SQL-DatenbankAzure SQL DatabaseYesAzure SQL-DatenbankAzure SQL Database JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed Instance JaAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics JaParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data WarehouseAnwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaAzure SQL-DatenbankAzure SQL DatabaseYesAzure SQL-DatenbankAzure SQL Database JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed Instance JaAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics JaParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

Erstellen Sie einen Datenbankhauptschlüssel in der Masterdatenbank.Creates a database master key in the master database.

Symbol für Themenlink Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

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

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 oder früher finden Sie unter Dokumentation zu früheren Versionen.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgumenteArguments

PASSWORD ='password': Ist das zum Verschlüsseln des Hauptschlüssels in der Datenbank verwendete Kennwort.PASSWORD ='password' Is the password that is used to encrypt the master key in the database. password muss den Anforderungen der Windows-Kennwortrichtlinien des Computers entsprechen, auf dem die Instanz von SQL ServerSQL Server ausgeführt wird.password must meet the Windows password policy requirements of the computer that is running the instance of SQL ServerSQL Server. password ist in SQL-DatenbankSQL Database und Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) optional.password is optional in SQL-DatenbankSQL Database and Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse).

BemerkungenRemarks

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. Dieses Standardverhalten kann mithilfe der DROP ENCRYPTION BY SERVICE MASTER KEY-Option von ALTER MASTER KEY geändert werden.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 mithilfe der OPEN MASTER KEY-Anweisung und eines Kennworts geöffnet werden.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. Wenn die Datenbank physisch auf einen anderen Server verschoben wird (z. B. beim Protokollversand oder der Wiederherstellung einer Sicherungskopie), enthält sie eine Kopie des Hauptschlüssels, die mit dem ursprünglichen Diensthauptschlüssel des Servers verschlüsselt wurde, falls diese Verschlüsselung nicht explizit durch ALTER MASTER KEY DDL entfernt wurde. Außerdem enthält die Datenbank eine Kopie des Hauptschlüssels, die mit allen Kennwörtern verschlüsselt wurde, die entweder während des CREATE MASTER KEY-Vorgangs oder bei nachfolgenden ALTER MASTER KEY DDL-Vorgängen angegeben wurden.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. Wenn Benutzer den Hauptschlüssel und alle verschlüsselten Daten wiederherstellen möchten, die nach dem Verschieben der Datenbank durch den Hauptschlüssel als Stamm in der Schlüsselhierarchie verschlüsselt wurden, haben sie dazu drei Möglichkeiten: Sie können die OPEN MASTER KEY-Anweisung mit einem der Kennworte nutzen, die zum Schutz des Hauptschlüssels verwendet wurden, die Sicherung des Hauptschlüssels wiederherstellen oder aber die Sicherung des ursprünglichen Diensthauptschlüssels auf dem neuen Server wiederherstellen.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 passwords 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.

Im Fall von SQL-DatenbankSQL Database und Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) wird der Kennwortschutz nicht als Sicherheitsmechanismus betrachtet, mit dem sich ein Datenverlust in Situationen verhindern lässt, in denen möglicherweise die Datenbank von einem Server zu einem anderen verschoben wird. Dies liegt daran, dass der Schutz des Diensthauptschlüssels für den Hauptschlüssel von der Microsoft Azure-Plattform verwaltet wird.For SQL-DatenbankSQL Database and Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL 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. Das Kennwort für den Hauptschlüssel ist daher in SQL-DatenbankSQL Database und Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) optional.Therefore, the Master Key password is optional in SQL-DatenbankSQL Database and Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse).

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.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

Im folgenden Beispiel wird ein Datenbankhauptschlüssel für die master-Datenbank erstellt.Use the following example to create a database master key in the masterdatabase. 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