ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
Si applica a: SQL Server
Modifica un provider del servizio di crittografia in SQL Server da un provider EKM (Extensible Key Management).
Convenzioni relative alla sintassi Transact-SQL
Sintassi
ALTER CRYPTOGRAPHIC PROVIDER provider_name
[ FROM FILE = path_of_DLL ]
ENABLE | DISABLE
Argomenti
provider_name
Nome del provider EKM.
Path_of_DLL
Percorso del file DLL che implementa l'interfaccia EKM di SQL Server.
ENABLE | DISABLE
Abilita o disabilita un provider.
Osservazioni:
Se il provider modifica il file DLL usato per l'implementazione di EKM (Extensible Key Management) in SQL Server, è necessario usare l'istruzione ALTER CRYPTOGRAPHIC PROVIDER.
Quando il percorso del file DLL viene aggiornato usando l'istruzione ALTER CRYPTOGRAPHIC PROVIDER, SQL Server esegue le azioni seguenti:
- Disabilitazione del provider.
- Verifica della firma DLL e del fatto che il GUID del file DLL sia uguale a quello registrato nel catalogo.
- Aggiornamento della versione DLL nel catalogo.
Quando un provider EKM viene impostato su DISABLE, qualsiasi tentativo effettuato su nuove connessioni di utilizzare il provider con istruzioni di crittografia avrà esito negativo.
Per disabilitare un provider, è necessario terminare tutte le sessioni che lo utilizzano.
Quando la dll di un provider EKM non implementa tutti i metodi necessari, ALTER CRYPTOGRAPHIC PROVIDER può restituire l'errore 33085:
One or more methods cannot be found in cryptographic provider library '%.*ls'.
Quando il file di intestazione utilizzato per creare la dll del provider EKM non è aggiornato, ALTER CRYPTOGRAPHIC PROVIDER può restituire l'errore 33032:
SQL Crypto API version '%02d.%02d' implemented by provider is not supported. Supported version is '%02d.%02d'.
Autorizzazioni
È richiesta l'autorizzazione CONTROL per il provider di crittografia.
Esempi
L'esempio seguente modifica un provider di crittografia denominato SecurityProvider
in SQL Server con una versione più recente di un file DLL. La nuova versione è denominata c:\SecurityProvider\SecurityProvider_v2.dll
e viene installata nel server. Il certificato del provider deve essere installato nel server.
- Per eseguire l'aggiornamento, disabilitare il provider. Tutte le sessioni di crittografia aperte verranno terminate.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
DISABLE;
GO
- Aggiornare il file DLL del provider. Il GUID deve corrispondere a quello della versione precedente, ma la versione può essere diversa.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
FROM FILE = 'c:\SecurityProvider\SecurityProvider_v2.dll';
GO
- Abilitare il provider aggiornato.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
ENABLE;
GO
Vedi anche
Extensible Key Management (EKM)
CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Extensible Key Management con Azure Key Vault (SQL Server)