ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Gilt für:SQL Server

Ändert einen Kryptografieanbieter innerhalb von SQL Server von einem EKM-Anbieter (Extensible Key Management) aus.

Transact-SQL-Syntaxkonventionen

Syntax

ALTER CRYPTOGRAPHIC PROVIDER provider_name   
    [ FROM FILE = path_of_DLL ]  
    ENABLE | DISABLE  

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

provider_name
Der Name des EKM-Anbieters.

Path_of_DLL
Der Pfad der DLL-Datei, die die EKM-Schnittstelle von SQL Server implementiert.

ENABLE | DISABLE
Aktiviert bzw. deaktiviert einen Anbieter.

Hinweise

Wenn der Anbieter die DLL-Datei ändert, mit der in SQL Serverdie erweiterbare Schlüsselverwaltung implementiert wird, müssen Sie die ALTER CRYPTOGRAPHIC PROVIDER-Anweisung verwenden.

Wenn der Pfad der DLL-Datei mithilfe der ALTER CRYPTOGRAPHIC PROVIDER-Anweisung aktualisiert wird, führt SQL Server folgende Aktionen aus:

  • Deaktiviert den Anbieter.
  • Überprüft die DLL-Signatur und stellt sicher, dass die DLL-Datei über den GUID verfügt, der auch im Katalog aufgezeichnet ist.
  • Aktualisiert die DLL-Version im Katalog.

Wenn ein EKM-Anbieter auf DISABLE festgelegt wird, tritt bei neuen Verbindungen bei dem Versuch, den Anbieter mit Verschlüsselungsanweisungen zu verwenden, ein Fehler auf.

Um einen Anbieter zu deaktivieren, müssen alle Sitzungen, die den Anbieter verwenden, beendet werden.

Wenn von einer DLL des EKM-Anbieters nicht alle erforderlichen Methoden implementiert werden, kann ALTER CRYPTOGRAPHIC PROVIDER den Fehler 33085 zurückgeben:

One or more methods cannot be found in cryptographic provider library '%.*ls'.

Wenn die Headerdatei, mit der die DLL des EKM-Anbieters erstellt wurde, veraltet ist, kann ALTER CRYPTOGRAPHIC PROVIDER den Fehler 33032 zurückgeben:

SQL Crypto API version '%02d.%02d' implemented by provider is not supported. Supported version is '%02d.%02d'.

Berechtigungen

Erfordert die CONTROL-Berechtigung für den Kryptografieanbieter.

Beispiele

Im folgenden Beispiel wird ein Kryptografieanbieter mit dem Namen SecurityProvider in SQL Serverin eine neuere Version einer DLL-Datei geändert. Diese neue Version erhält den Namen c:\SecurityProvider\SecurityProvider_v2.dll und wird auf dem Server installiert. Das Zertifikat des Anbieters muss auf dem Server installiert sein.

  1. Deaktivieren Sie den Anbieter, um das Upgrade durchzuführen. Dadurch werden alle geöffneten kryptografischen Sitzungen beendet.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
DISABLE;  
GO  
  1. Aktualisieren Sie die DLL-Datei des Anbieters. Die GUID muss mit der vorherigen Version identisch sein, die Version kann sich jedoch unterscheiden.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider  
FROM FILE = 'c:\SecurityProvider\SecurityProvider_v2.dll';  
GO  
  1. Aktivieren Sie den aktualisierten Anbieter.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
ENABLE;  
GO  

Weitere Informationen

Erweiterbare Schlüsselverwaltung (Extensible Key Management, EKM)
CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Erweiterbare Schlüsselverwaltung mit Azure Key Vault (SQL Server)