CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)
Si applica a: SQL Server Istanza gestita di SQL di Azure
Crea un provider del servizio di crittografia in SQL Server da un provider EKM (Extensible Key Management).
Convenzioni relative alla sintassi Transact-SQL
Sintassi
CREATE CRYPTOGRAPHIC PROVIDER provider_name
FROM FILE = path_of_DLL
Argomenti
provider_name
Nome del provider EKM.
path_of_DLL
Percorso del file DLL che implementa l'interfaccia EKM di SQL Server. Quando si usa Connettore SQL Server per Microsoft Azure Key Vault, il percorso predefinito è 'C:\Programmi\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll'.
Osservazioni:
Tutte le chiavi create da un provider faranno riferimento al provider attraverso il GUID. Il GUID viene mantenuto per tutte le versioni della DLL.
Alla DLL che implementa l'interfaccia SQLEKM deve essere applicata una firma digitale usando qualsiasi certificato. SQL Server verificherà la firma. Include la catena di certificati, la cui radice deve essere installata nel percorso Autorità di certificazione radice attendibili in un sistema Windows. Se la firma non viene verificata correttamente, l'istruzione CREATE CRYPTOGRAPHIC PROVIDER avrà esito negativo. Per altre informazioni sui certificati e sulle catene di certificati, vedere Certificati SQL Server e chiavi simmetriche.
Quando la DLL di un provider EKM non implementa tutti i metodi necessari, CREATE 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, CREATE 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 SERVER o l'appartenenza al ruolo predefinito del server sysadmin.
Esempi
Nell'esempio seguente viene creato un provider del servizio di crittografia denominato SecurityProvider
in SQL Server da un file DLL. Il file dll è denominato c:\SecurityProvider\SecurityProvider_v1.dll
ed è installato nel server. Il certificato del provider deve prima essere installato nel server.
-- Install the provider
CREATE CRYPTOGRAPHIC PROVIDER SecurityProvider
FROM FILE = 'C:\SecurityProvider\SecurityProvider_v1.dll';
Vedi anche
Extensible Key Management (EKM)
ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Extensible Key Management con Azure Key Vault (SQL Server)
Configurare Extensible Key Management TDE di SQL Server usando Azure Key Vault
sys.cryptographic_providers
sys.dm_cryptographic_provider_properties