ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
Aplica-se: SQL Server
Altera um provedor criptográfico no SQL Server a partir de um provedor EKM (Gerenciamento Extensível de Chaves).
Convenções de sintaxe de Transact-SQL
Sintaxe
ALTER CRYPTOGRAPHIC PROVIDER provider_name
[ FROM FILE = path_of_DLL ]
ENABLE | DISABLE
Argumentos
provider_name
Nome do provedor de Gerenciamento de Chaves Extensível.
Path_of_DLL
Caminho do arquivo .dll que implementa a interface de Gerenciamento Extensível de Chaves do SQL Server.
ENABLE | DISABLE
Habilita ou desabilita um provedor.
Comentários
Se o provedor alterar o arquivo .dll usado para implementar o Gerenciamento de Chaves Extensível SQL Server, será necessário usar a instrução ALTER CRYPTOGRAPHIC PROVIDER.
Quando o caminho do arquivo .dll é atualizado usando a instrução ALTER CRYPTOGRAPHIC PROVIDER, o SQL Server executa as seguintes ações:
- Desabilita o provedor.
- Verifica a assinatura DLL e assegura que o arquivo .dll tenha o mesmo GUID que foi registrado no catálogo.
- Atualiza a versão DLL no catálogo.
Quando um provedor EKM estiver definido como DISABLE, quaisquer tentativas de usar o provedor com instruções de criptografia em novas conexões falharão.
Para desabilitar um provedor, todas as sessões que o usam devem ser terminadas.
Quando uma dll de provedor EKM não implementar todos os métodos necessários, ALTER CRYPTOGRAPHIC PROVIDER poderá retornar o erro 33085:
One or more methods cannot be found in cryptographic provider library '%.*ls'.
Quando o arquivo de cabeçalho usado para criar a dll de provedor EKM provedor estiver desatualizado, ALTER CRYPTOGRAPHIC PROVIDER poderá retornar o erro 33032:
SQL Crypto API version '%02d.%02d' implemented by provider is not supported. Supported version is '%02d.%02d'.
Permissões
Requer a permissão CONTROL no provedor criptográfico.
Exemplos
O exemplo a seguir altera um provedor criptográfico, chamado SecurityProvider
no SQL Server, para uma versão mais nova de um arquivo .dll. Essa nova versão é chamada c:\SecurityProvider\SecurityProvider_v2.dll
e é instalada no servidor. O certificado do provedor deve ser instalado no servidor.
- Desabilite o provedor para executar o upgrade. Isso encerrará todas as sessões de criptografia abertas.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
DISABLE;
GO
- Faça upgrade do arquivo. dll do provedor. O GUID deve ser o mesmo que a versão anterior, mas a versão pode ser diferente.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
FROM FILE = 'c:\SecurityProvider\SecurityProvider_v2.dll';
GO
- Habilite o provedor atualizado.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
ENABLE;
GO
Consulte Também
EKM (Gerenciamento extensível de chaves)
CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Gerenciamento extensível de chaves Usando o Azure Key Vault (SQL Server)