ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Modifica un proveedor criptográfico dentro de SQL Server a partir de un proveedor de Administración extensible de claves (EKM).

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

  • provider_name
    Nombre del proveedor de Administración extensible de claves.

  • Path_of_DLL
    Ruta de acceso del archivo .dll que implementa la interfaz de Administración extensible de claves de SQL Server.

  • ENABLE | DISABLE
    Habilita o deshabilita un proveedor.

Notas

Si el proveedor cambia el archivo .dll que se utiliza para implementar la Administración extensible de claves en SQL Server, es preciso utilizar la instrucción ALTER CRYPTOGRAPHIC PROVIDER.

Cuando la ruta de acceso del archivo .dll se actualiza mediante la instrucción ALTER CRYPTOGRAPHIC PROVIDER, SQL Server realiza las acciones siguientes:

  • Deshabilita el proveedor.

  • Comprueba la firma de la DLL y se asegura de que el archivo .dll tiene el mismo GUID que el grabado en el catálogo.

  • Actualiza la versión de DLL en el catálogo.

Cuando un proveedor de EKM se establece en DISABLE, se producirá un error si en las nuevas conexiones se intenta usar el proveedor con instrucciones de cifrado.

Para deshabilitar un proveedor, todas las sesiones que lo utilizan deben terminarse.

Permisos

Requiere permiso CONTROL en el proveedor criptográfico.

Ejemplos

En el ejemplo siguiente se modifica un proveedor criptográfico, denominado SecurityProvider en SQL Server, a una versión más reciente de un archivo .dll. Esta nueva versión se denomina c:\SecurityProvider\SecurityProvider_v2.dll y se instala en el servidor. El certificado del proveedor debe estar instalado en el servidor.

/* First, disable the provider to perform the upgrade.
This will terminate all open cryptographic sessions */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider 
DISABLE;
GO

/* Upgrade the provider .dll file. 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

/* Enable the upgraded provider. */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider 
ENABLE;
GO