ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions)

Ändert einen Kryptografieanbieter innerhalb von SQL ServerSQL Server von einem EKM-Anbieter (Extensible Key Management) aus.Alters a cryptographic provider within SQL ServerSQL Server from an Extensible Key Management (EKM) provider.

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

SyntaxSyntax

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

provider_nameprovider_name
Der Name des EKM-Anbieters.Name of the Extensible Key Management provider.

Path_of_DLLPath_of_DLL
Der Pfad der DLL-Datei, die die EKM-Schnittstelle von SQL ServerSQL Server implementiert.Path of the .dll file that implements the SQL ServerSQL Server Extensible Key Management interface.

ENABLE | DISABLEENABLE | DISABLE
Aktiviert bzw. deaktiviert einen Anbieter.Enables or disables a provider.

BemerkungenRemarks

Wenn der Anbieter die DLL-Datei ändert, mit der in SQL ServerSQL Serverdie erweiterbare Schlüsselverwaltung implementiert wird, müssen Sie die ALTER CRYPTOGRAPHIC PROVIDER-Anweisung verwenden.If the provider changes the .dll file that is used to implement Extensible Key Management in SQL ServerSQL Server, you must use the ALTER CRYPTOGRAPHIC PROVIDER statement.

Wenn der Pfad der DLL-Datei mithilfe der ALTER CRYPTOGRAPHIC PROVIDER-Anweisung aktualisiert wird, führt SQL ServerSQL Server folgende Aktionen aus:When the .dll file path is updated by using the ALTER CRYPTOGRAPHIC PROVIDER statement, SQL ServerSQL Server performs the following actions:

  • Deaktiviert den Anbieter.Disables the provider.
  • Überprüft die DLL-Signatur und stellt sicher, dass die DLL-Datei über den GUID verfügt, der auch im Katalog aufgezeichnet ist.Verifies the DLL signature and ensures that the .dll file has the same GUID as the one recorded in the catalog.
  • Aktualisiert die DLL-Version im Katalog.Updates the DLL version in the catalog.

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.When an EKM provider is set to DISABLE, any attempts on new connections to use the provider with encryption statements will fail.

Um einen Anbieter zu deaktivieren, müssen alle Sitzungen, die den Anbieter verwenden, beendet werden.To disable a provider, all sessions that use the provider must be terminated.

Wenn von einer DLL des EKM-Anbieters nicht alle erforderlichen Methoden implementiert werden, kann ALTER CRYPTOGRAPHIC PROVIDER den Fehler 33085 zurückgeben:When an EKM provider dll does not implement all of the necessary methods, ALTER CRYPTOGRAPHIC PROVIDER can return error 33085:

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:When the header file used to create the EKM provider dll is out of date, ALTER CRYPTOGRAPHIC PROVIDER can return error 33032:

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

BerechtigungenPermissions

Erfordert die CONTROL-Berechtigung für den Kryptografieanbieter.Requires CONTROL permission on the cryptographic provider.

BeispieleExamples

Im folgenden Beispiel wird ein Kryptografieanbieter mit dem Namen SecurityProvider in SQL ServerSQL Serverin eine neuere Version einer DLL-Datei geändert.The following example alters a cryptographic provider, called SecurityProvider in SQL ServerSQL Server, to a newer version of a .dll file. Diese neue Version erhält den Namen c:\SecurityProvider\SecurityProvider_v2.dll und wird auf dem Server installiert.This new version is named c:\SecurityProvider\SecurityProvider_v2.dll and is installed on the server. Das Zertifikat des Anbieters muss auf dem Server installiert sein.The provider's certificate must be installed on the server.

  1. Deaktivieren Sie den Anbieter, um das Upgrade durchzuführen.Disable the provider to perform the upgrade. Dadurch werden alle geöffneten kryptografischen Sitzungen beendet.This will terminate all open cryptographic sessions.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
DISABLE;  
GO  
  1. Aktualisieren Sie die DLL-Datei des Anbieters.Upgrade the provider .dll file. Die GUID muss mit der vorherigen Version identisch sein, die Version kann sich jedoch unterscheiden.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  
  1. Aktivieren Sie den aktualisierten Anbieter.Enable the upgraded provider.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
ENABLE;  
GO  

Weitere InformationenSee Also

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