Compartir a través de


ALTER MASTER KEY (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Base de datos SQL de Microsoft Fabric

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

Convenciones de sintaxis de Transact-SQL

Sintaxis

Sintaxis para SQL Server

-- Syntax for SQL Server
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' }

Sintaxis para Azure SQL Database y SQL Database en Microsoft Fabric

-- Syntax for Azure SQL Database
-- Note: DROP ENCRYPTION BY SERVICE MASTER KEY is not supported on Azure SQL Database.

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 { PASSWORD = 'password' }

Sintaxis para Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)

-- Syntax for Azure Synapse Analytics and Analytics Platform System

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
    |
    DROP ENCRYPTION BY SERVICE MASTER KEY

Argumentos

PASSWORD ='password'

Especifica una contraseña con la que se va a cifrar o descifrar la clave maestra de 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.

Observaciones

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. Esta operación de uso intensivo de recursos debe programarse durante un período de baja demanda, a menos que la clave maestra esté en peligro.

SQL Server 2012 (11.x) 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 la Motor de base de datos a SQL Server 2012 (11.x), el SMK y DMK deben volver a generarse para actualizar las claves maestras a AES. Para más información sobre cómo volver a generar la SMK, vea ALTER SERVICE MASTER KEY.

Cuando se usa la opción FORCE, la regeneración de claves continúa incluso si la clave maestra no está disponible o el servidor no puede descifrar todas las claves privadas cifradas. Si no puede abrir la clave maestra, use 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. La información cifrada solo por una clave irrecuperable se pierde.

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.

DROP ENCRYPTION BY SERVICE MASTER KEY no se admite en Azure SQL Database.

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

Necesita el permiso CONTROL en la base de datos. Si la clave maestra de la base de datos se cifra con una contraseña, también se requiere el conocimiento de esa 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. Reemplace por <secure password> una contraseña segura y única.

USE AdventureWorks2022;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = '<secure password>';
GO

Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)

En el siguiente ejemplo se crea una clave maestra de base de datos para AdventureWorksPDW2012 y se vuelven a cifrar las claves inferiores en la jerarquía de cifrado. Reemplace por <secure password> una contraseña segura y única.

USE master;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = '<secure password>';
GO