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

S’APPLIQUE À : ouiSQL Server nonAzure SQL Database nonAzure Synapse Analytics (SQL DW) nonParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Modifie un fournisseur de services de chiffrement dans SQL ServerSQL Server à partir d'un fournisseur EKM (Gestion de clés extensible).Alters a cryptographic provider within SQL ServerSQL Server from an Extensible Key Management (EKM) provider.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

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

ArgumentsArguments

provider_nameprovider_name
Nom du fournisseur EKM (Gestion de clés extensible).Name of the Extensible Key Management provider.

Path_of_DLLPath_of_DLL
Chemin d'accès du fichier .dll qui implémente l'interface EKM (Gestion de clés extensible) SQL ServerSQL Server.Path of the .dll file that implements the SQL ServerSQL Server Extensible Key Management interface.

ENABLE | DISABLEENABLE | DISABLE
Active ou désactive un fournisseur.Enables or disables a provider.

NotesRemarks

Si le fournisseur modifie le fichier .dll utilisé pour implémenter la gestion de clés extensible dans SQL ServerSQL Server, vous devez utiliser l'instruction ALTER CRYPTOGRAPHIC PROVIDER.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.

Lorsque le chemin d'accès du fichier .dll est mis à jour à l'aide de l'instruction ALTER CRYPTOGRAPHIC PROVIDER, SQL ServerSQL Server effectue les actions suivantes :When the .dll file path is updated by using the ALTER CRYPTOGRAPHIC PROVIDER statement, SQL ServerSQL Server performs the following actions:

  • Désactive le fournisseur.Disables the provider.
  • Vérifie la signature DLL et garantit que le fichier .dll possède le même GUID que celui qui est enregistré dans le catalogue.Verifies the DLL signature and ensures that the .dll file has the same GUID as the one recorded in the catalog.
  • Met à jour la version DLL dans le catalogue.Updates the DLL version in the catalog.

Lorsqu'un fournisseur de gestion de clés extensible a la valeur DISABLE, toute tentative d'utilisation du fournisseur avec des instructions de chiffrement échoue sur les nouvelles connexions.When an EKM provider is set to DISABLE, any attempts on new connections to use the provider with encryption statements will fail.

Pour désactiver un fournisseur, toutes les sessions qui utilisent le fournisseur doivent être terminées.To disable a provider, all sessions that use the provider must be terminated.

Lorsqu'une DLL de fournisseur EKM n'implémente pas toutes les méthodes nécessaires, ALTER CRYPTOGRAPHIC PROVIDER peut retourner l'erreur 33085 :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'.

Lorsque le fichier d'en-tête utilisé pour créer la DLL de fournisseur EKM est obsolète, ALTER CRYPTOGRAPHIC PROVIDER peut retourner l'erreur 33032 :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'.

AutorisationsPermissions

Nécessite l'autorisation CONTROL sur le fournisseur de services de chiffrement.Requires CONTROL permission on the cryptographic provider.

ExemplesExamples

L’exemple suivant modifie un fournisseur de services de chiffrement, appelé SecurityProvider dans SQL ServerSQL Server, en ajoutant une version plus récente d’un fichier .dll.The following example alters a cryptographic provider, called SecurityProvider in SQL ServerSQL Server, to a newer version of a .dll file. Cette nouvelle version est nommée c:\SecurityProvider\SecurityProvider_v2.dll et est installée sur le serveur.This new version is named c:\SecurityProvider\SecurityProvider_v2.dll and is installed on the server. Le certificat du fournisseur doit être installé sur le serveur.The provider's certificate must be installed on the server.

  1. Désactivez le fournisseur pour effectuer la mise à niveau.Disable the provider to perform the upgrade. Cela met fin à toutes les sessions de chiffrement ouvertes.This will terminate all open cryptographic sessions.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
DISABLE;  
GO  
  1. Mettez à niveau le fichier .dll du fournisseur.Upgrade the provider .dll file. Le GUID doit être identique à celui de la version précédente, mais la version peut être différente.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. Activez le fournisseur mis à niveau.Enable the upgraded provider.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
ENABLE;  
GO  

Voir aussiSee Also

Gestion de clés extensible (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)
Gestion de clés extensible à l’aide d’Azure Key Vault (SQL Server)Extensible Key Management Using Azure Key Vault (SQL Server)