ALTER MASTER KEY (Transact-SQL)ALTER MASTER KEY (Transact-SQL)
Anwendungsbereich:Applies to: SQL ServerSQL Server (alle unterstützten Versionen)
SQL ServerSQL Server (all supported versions)
Azure SQL-DatenbankAzure SQL Database
Azure SQL-DatenbankAzure SQL Database
Verwaltete Azure SQL-InstanzAzure SQL Managed Instance
Verwaltete Azure SQL-InstanzAzure SQL Managed Instance
Azure Synapse AnalyticsAzure Synapse Analytics
Azure Synapse AnalyticsAzure Synapse Analytics
Parallel Data WarehouseParallel Data Warehouse
Parallel Data WarehouseParallel Data Warehouse
SQL ServerSQL Server (alle unterstützten Versionen)
SQL ServerSQL Server (all supported versions)
Azure SQL-DatenbankAzure SQL Database
Azure SQL-DatenbankAzure SQL Database
Verwaltete Azure SQL-InstanzAzure SQL Managed Instance
Verwaltete Azure SQL-InstanzAzure SQL Managed Instance
Azure Synapse AnalyticsAzure Synapse Analytics
Azure Synapse AnalyticsAzure Synapse Analytics
Parallel Data WarehouseParallel Data Warehouse
Parallel Data WarehouseParallel Data Warehouse
Ändert die Eigenschaften eines Datenbank-Hauptschlüssels.Changes the properties of a database master key.
Transact-SQL-Syntaxkonventionen
Transact-SQL Syntax Conventions
SyntaxSyntax
-- Syntax for SQL Server
ALTER MASTER KEY <alter_option>
<alter_option> ::=
<regenerate_option> | <encryption_option>
<regenerate_option> ::=
[ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD = 'password'
<encryption_option> ::=
ADD ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
|
DROP ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
-- Syntax for Azure SQL Database
-- Note: DROP ENCRYPTION BY SERVICE MASTER KEY is not supported on Azure SQL Database.
ALTER MASTER KEY <alter_option>
<alter_option> ::=
<regenerate_option> | <encryption_option>
<regenerate_option> ::=
[ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD = 'password'
<encryption_option> ::=
ADD ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
|
DROP ENCRYPTION BY { PASSWORD = 'password' }
-- Syntax for Azure Synapse Analytics and Analytics Platform System
ALTER MASTER KEY <alter_option>
<alter_option> ::=
<regenerate_option> | <encryption_option>
<regenerate_option> ::=
[ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD ='password'
<encryption_option> ::=
ADD ENCRYPTION BY SERVICE MASTER KEY
|
DROP ENCRYPTION BY SERVICE MASTER KEY
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' Gibt ein Kennwort an, mit dem der Datenbank-Hauptschlüssel ver- oder entschlüsselt wird.PASSWORD ='password' Specifies a password with which to encrypt or decrypt the database master key. 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.
BemerkungenRemarks
Mit der REGENERATE-Option werden der Datenbank-Hauptschlüssel und alle durch ihn geschützten Schlüssel neu erstellt.The REGENERATE option re-creates the database master key and all the keys it protects. Die Schlüssel werden zunächst mit dem alten Hauptschlüssel entschlüsselt und anschließend mit dem neuen Hauptschlüssel verschlüsselt.The keys are first decrypted with the old master key, and then encrypted with the new master key. Die Ausführung dieses ressourcenintensiven Vorgangs sollte außerhalb der Hauptzeiten geplant werden, es sei denn, der Hauptschlüssel ist nicht mehr sicher.This resource-intensive operation should be scheduled during a period of low demand, unless the master key has been compromised.
SQL Server 2012 (11.x)SQL Server 2012 (11.x) SQL Server 2016 schützt den Diensthauptschlüssel (Service Master Key, SMK) und den Datenbank-Hauptschlüssel (Database Master Key, DMK) mithilfe des AES-Verschlüsselungsalgorithmus.uses the AES encryption algorithm to protect the service master key (SMK) and the database master key (DMK). AES ist ein neuerer Verschlüsselungsalgorithmus als der in früheren Versionen verwendete 3DES-Algorithmus.AES is a newer encryption algorithm than 3DES used in earlier versions. Nach dem Aktualisieren einer Instanz von Datenbank-EngineDatabase Engine auf SQL Server 2012 (11.x)SQL Server 2012 (11.x) sollten SMK und DMK erneut generiert werden, um die Hauptschlüssel auf AES zu aktualisieren.After upgrading an instance of the Datenbank-EngineDatabase Engine to SQL Server 2012 (11.x)SQL Server 2012 (11.x) the SMK and DMK should be regenerated in order to upgrade the master keys to AES. Weitere Informationen zum Neugenerieren des SMK finden Sie unter ALTER SERVICE MASTER KEY.For more information about regenerating the SMK, see ALTER SERVICE MASTER KEY.
Bei Verwendung der FORCE-Option wird die Schlüsselneugenerierung fortgesetzt, auch wenn der Hauptschlüssel nicht verfügbar ist oder wenn der Server nicht alle verschlüsselten privaten Schlüssel entschlüsseln kann.When the FORCE option is used, key regeneration will continue even if the master key is unavailable or the server cannot decrypt all the encrypted private keys. Falls der Hauptschlüssel nicht geöffnet werden kann, können Sie den Hauptschlüssel mit der RESTORE MASTER KEY-Anweisung aus einer Sicherung wiederherstellen.If the master key cannot be opened, use the RESTORE MASTER KEY statement to restore the master key from a backup. Die FORCE-Option sollte nur verwendet werden, wenn der Hauptschlüssel nicht abgerufen werden kann oder wenn bei der Entschlüsselung ein Fehler aufgetreten ist.Use the FORCE option only if the master key is irretrievable or if decryption fails. Informationen, die nur mit dem nicht abrufbaren Schlüssel verschlüsselt sind, gehen verloren.Information that is encrypted only by an irretrievable key will be lost.
Mit der DROP ENCRYPTION BY SERVICE MASTER KEY-Option wird die Verschlüsselung des Datenbank-Hauptschlüssels durch den Diensthauptschlüssel entfernt.The DROP ENCRYPTION BY SERVICE MASTER KEY option removes the encryption of the database master key by the service master key.
Mit ADD ENCRYPTION BY SERVICE MASTER KEY wird eine Kopie des Hauptschlüssels mithilfe des Diensthauptschlüssels verschlüsselt. Der Hauptschlüssel wird dann sowohl in der aktuellen Datenbank als auch in der master-Datenbank gespeichert.ADD ENCRYPTION BY SERVICE MASTER KEY causes a copy of the master key to be encrypted using the service master key and stored in both the current database and in master.
BerechtigungenPermissions
Erfordert die CONTROL-Berechtigung für die Datenbank.Requires CONTROL permission on the database. Falls der Datenbank-Hauptschlüssel mit einem Kennwort verschlüsselt wurde, muss das Kennwort bekannt sein.If the database master key has been encrypted with a password, knowledge of that password is also required.
BeispieleExamples
Im folgenden Beispiel wird ein neuer Datenbank-Hauptschlüssel für AdventureWorks
erstellt, und die Schlüssel, die sich in der Verschlüsselungshierarchie unter diesem Schlüssel befinden, werden neu verschlüsselt.The following example creates a new database master key for AdventureWorks
and reencrypts the keys below it in the encryption hierarchy.
USE AdventureWorks2012;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'dsjdkflJ435907NnmM#sX003';
GO
Beispiele: Azure Synapse AnalyticsAzure Synapse Analytics und Parallel Data WarehouseParallel Data WarehouseExamples: Azure Synapse AnalyticsAzure Synapse Analytics and Parallel Data WarehouseParallel Data Warehouse
Im folgenden Beispiel wird ein neuer Datenbank-Hauptschlüssel für AdventureWorksPDW2012
erstellt, und die Schlüssel, die sich in der Verschlüsselungshierarchie unter diesem Schlüssel befinden, werden neu verschlüsselt.The following example creates a new database master key for AdventureWorksPDW2012
and re-encrypts the keys below it in the encryption hierarchy.
USE master;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'dsjdkflJ435907NnmM#sX003';
GO
Weitere InformationenSee Also
- CREATE MASTER KEYCREATE MASTER KEY
- OPEN MASTER KEYOPEN MASTER KEY
- CLOSE MASTER KEYCLOSE MASTER KEY
- BACKUP MASTER KEYBACKUP MASTER KEY
- RESTORE MASTER KEYRESTORE MASTER KEY
- DROP MASTER KEYDROP MASTER KEY
- VerschlüsselungshierarchieEncryption Hierarchy
- CREATE DATABASECREATE DATABASE
- Anfügen und Trennen von DatenbankenDatabase Detach and Attach