ALTER ASYMMETRIC KEY (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse Analytics

Ändert die Eigenschaften eines asymmetrischen Schlüssels.

Transact-SQL-Syntaxkonventionen

Hinweis

Diese Syntax wird vom serverlosen SQL-Pool in Azure Synapse Analytics nicht unterstützt.

Syntax

ALTER ASYMMETRIC KEY Asym_Key_Name <alter_option>  
  
<alter_option> ::=  
      <password_change_option>   
    | REMOVE PRIVATE KEY   

<password_change_option> ::=  
    WITH PRIVATE KEY ( <password_option> [ , <password_option> ] )  

<password_option> ::=  
      ENCRYPTION BY PASSWORD = 'strongPassword'  
    | DECRYPTION BY PASSWORD = 'oldPassword'  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

Asym_Key_Name
Der Name des asymmetrischen Schlüssels in der Datenbank.

REMOVE PRIVATE KEY
Entfernt den privaten Schlüssel aus dem asymmetrischen Schlüssel. Der öffentliche Schlüssel wird nicht entfernt.

WITH PRIVATE KEY
Ändert den Schutz des privaten Schlüssels.

ENCRYPTION BY PASSWORD ='strongPassword'
Gibt ein neues Kennwort zum Schutz des privaten Schlüssels an. password muss den Anforderungen der Windows-Kennwortrichtlinien des Computers entsprechen, auf dem die Instanz von SQL Server ausgeführt wird. Falls diese Option ausgelassen wird, wird der private Schlüssel mit dem Datenbank-Hauptschlüssel verschlüsselt.

DECRYPTION BY PASSWORD ='oldPassword'
Gibt das alte Kennwort an, mit dem der private Schlüssel zurzeit verschlüsselt ist. Das Kennwort ist nicht erforderlich, wenn der private Schlüssel mit dem Datenbank-Hauptschlüssel verschlüsselt ist.

Hinweise

Falls kein Datenbank-Hauptschlüssel vorhanden ist, muss die ENCRYPTION BY PASSWORD-Option angegeben sein. Der Vorgang erzeugt einen Fehler, wenn kein Kennwort angegeben ist. Weitere Informationen zum Erstellen eines Datenbankmasterschlüssels finden Sie unter CREATE MASTER KEY (Transact-SQL).

Mit ALTER ASYMMETRIC KEY kann der Schutz des privaten Schlüssels durch Angeben der PRIVATE KEY-Optionen geändert werden, wie in der folgenden Tabelle veranschaulicht ist.

Ändern des Schutzes ENCRYPTION BY PASSWORD DECRYPTION BY PASSWORD
Altes Kennwort wird geändert zu neuem Kennwort Erforderlich Erforderlich
Kennwort wird geändert zu Hauptschlüssel Auslassen Erforderlich
Hauptschlüssel wird geändert zu Kennwort Erforderlich Auslassen

Der Datenbank-Hauptschlüssel muss geöffnet werden, bevor er zum Schutz eines privaten Schlüssels verwendet werden kann. Weitere Informationen finden Sie unter OPEN MASTER KEY (Transact-SQL).

Zum Ändern des Besitzes eines asymmetrischen Schlüssels können Sie ALTER AUTHORIZATION verwenden.

Berechtigungen

Erfordert die CONTROL-Berechtigung für den asymmetrischen Schlüssel, wenn der private Schlüssel entfernt wird.

Beispiele

A. Ändern des Kennworts für den privaten Schlüssel

Im folgenden Beispiel wird das Kennwort geändert, das zum Schutz des privaten Schlüssels des asymmetrischen Schlüssels PacificSales09 verwendet wird. Das neue Kennwort lautet <enterStrongPasswordHere>.

ALTER ASYMMETRIC KEY PacificSales09   
    WITH PRIVATE KEY (  
    DECRYPTION BY PASSWORD = '<oldPassword>',  
    ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>');  
GO  

B. Entfernen des privaten Schlüssels aus einem asymmetrischen Schlüssel

Im folgenden Beispiel wird der private Schlüssel aus PacificSales19 entfernt, wobei nur der öffentliche Schlüssel beibehalten wird.

ALTER ASYMMETRIC KEY PacificSales19 REMOVE PRIVATE KEY;  
GO  

C. Entfernen des Kennwortschutzes aus einem privaten Schlüssel

Im folgenden Beispiel wird der Kennwortschutz für einen privaten Schlüssel entfernt, und der private Schlüssel wird mit dem Datenbank-Hauptschlüssel geschützt.

OPEN MASTER KEY DECRYPTION BY PASSWORD = '<database master key password>';  
ALTER ASYMMETRIC KEY PacificSales09 WITH PRIVATE KEY (  
    DECRYPTION BY PASSWORD = '<enterStrongPasswordHere>' );  
GO  

Weitere Informationen

CREATE ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
Verschlüsselungsschlüssel für SQL Server und SQL-Datenbank (Datenbank-Engine)
Verschlüsselungshierarchie
CREATE MASTER KEY (Transact-SQL)
OPEN MASTER KEY (Transact-SQL)
Erweiterbare Schlüsselverwaltung (Extensible Key Management, EKM)