ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)

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

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • provider_name
    Der Name des EKM-Anbieters.

  • Path_of_DLL
    Der Pfad der DLL-Datei, die die Extensible Key Management-Schnittstelle von SQL Server implementiert.

  • ENABLE | DISABLE
    Aktiviert bzw. deaktiviert einen Anbieter.

Hinweise

Wenn der Anbieter die DLL-Datei ändert, mit der in SQL Server die 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.

Berechtigungen

Erfordert die CONTROL-Berechtigung für den Kryptografieanbieter.

Beispiele

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

/* First, disable the provider to perform the upgrade.
This will terminate all open cryptographic sessions */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider 
DISABLE;
GO

/* Upgrade the provider .dll file. The GUID must the same
as the previous version, but the version can be different. */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
FROM FILE = 'c:\SecurityProvider\SecurityProvider_v2.dll';
GO

/* Enable the upgraded provider. */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider 
ENABLE;
GO