ALTER MASTER KEY (Transact-SQL)

Cambia las propiedades de la clave maestra de una base de datos.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

ALTER MASTER KEY <alter_option>

<alter_option> ::=
    <regenerate_option> | <encryption_option>

<regenerate_option> ::=
    [ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD = 'password'

<encryption_option> ::=
    ADD ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
    | 
    DROP ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }

Argumentos

  • PASSWORD ='password'
    Especifica una contraseña con la que se va a cifrar o descifrar la clave maestra de la base de datos. password debe cumplir los requisitos de la directiva de contraseñas de Windows del equipo que ejecuta la instancia de SQL Server.

Comentarios

La opción REGENERATE vuelve a crear la clave maestra de la base de datos y todas las claves que ésta protege. Las claves se descifran primero con la antigua clave maestra y, a continuación, se cifran con la nueva clave maestra. Puesto que esta operación hace un uso intensivo de recursos, debe programarse durante un periodo de baja demanda, a menos que la clave maestra se encuentre en peligro.

SQL Server 2012 usa el algoritmo de cifrado AES para proteger la clave maestra de servicio (SMK) y la clave maestra de la base de datos (DMK). AES es un algoritmo de cifrado más reciente que el algoritmo 3DES empleado en versiones anteriores. Después de actualizar una instancia de Motor de base de datos a SQL Server 2012, se deben volver a generar las claves SMK y DMK para actualizarlas al algoritmo AES. Para obtener más información acerca de cómo volver a generar la SMK, vea ALTER SERVICE MASTER KEY (Transact-SQL).

Cuando se usa la opción FORCE, la regeneración de la clave continuará aunque la clave maestra no se encuentre disponible o el servidor no pueda descifrar todas las claves privadas cifradas. Si no puede abrir la clave maestra, utilice la instrucción RESTORE MASTER KEY para restaurar la clave maestra desde una copia de seguridad. Utilice la opción FORCE únicamente si la clave maestra es irrecuperable o si se producen errores en el descifrado. Se perderá la información cifrada solamente con una clave irrecuperable.

La opción DROP ENCRYPTION BY SERVICE MASTER KEY quita el cifrado de la clave maestra de la base de datos por parte de la clave maestra de servicio.

ADD ENCRYPTION BY SERVICE MASTER KEY cifra una copia de la clave maestra con la clave maestra de servicio y la almacena en la base de datos actual y en master.

Permisos

Requiere el permiso CONTROL en la base de datos. Si la clave maestra de la base de datos se ha cifrado con una contraseña, es necesario conocer dicha contraseña.

Ejemplos

En el siguiente ejemplo se crea una nueva clave maestra de base de datos para AdventureWorks y se vuelven a cifrar las claves inferiores en la jerarquía de cifrado.

USE AdventureWorks2012;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'dsjdkflJ435907NnmM#sX003';
GO

Vea también

Referencia

CREATE MASTER KEY (Transact-SQL)

OPEN MASTER KEY (Transact-SQL)

CLOSE MASTER KEY (Transact-SQL)

BACKUP MASTER KEY (Transact-SQL)

RESTORE MASTER KEY (Transact-SQL)

DROP MASTER KEY (Transact-SQL)

CREATE DATABASE (Transact-SQL)

Conceptos

Jerarquía de cifrado

Adjuntar y separar bases de datos (SQL Server)