ALTER MASTER KEY (Transact-SQL)ALTER MASTER KEY (Transact-SQL)

SE APLICA A: síSQL Server síAzure SQL Database síAzure SQL Data Warehouse síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Cambia las propiedades de la clave maestra de una base de datos.Changes the properties of a database master key.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

-- 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' }
-- 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' }
-- Syntax for Azure SQL Data Warehouse 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

ArgumentosArguments

PASSWORD ='password' Especifica una contraseña con la que se va a cifrar o descifrar la clave maestra de la base de datos.PASSWORD ='password' Specifies a password with which to encrypt or decrypt the database master key. password debe cumplir los requisitos de la directiva de contraseñas de Windows del equipo que ejecuta la instancia de SQL ServerSQL Server.password must meet the Windows password policy requirements of the computer that is running the instance of SQL ServerSQL Server.

NotasRemarks

La opción REGENERATE vuelve a crear la clave maestra de la base de datos y todas las claves que ésta protege.The REGENERATE option re-creates the database master key and all the keys it protects. Las claves se descifran primero con la antigua clave maestra y, a continuación, se cifran con la nueva clave maestra.The keys are first decrypted with the old master key, and then encrypted with the new master key. 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.This resource-intensive operation should be scheduled during a period of low demand, unless the master key has been compromised.

SQL Server 2012 (11.x)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).uses the AES encryption algorithm to protect the service master key (SMK) and the database master key (DMK). AES es un algoritmo de cifrado más reciente que el algoritmo 3DES empleado en versiones anteriores.AES is a newer encryption algorithm than 3DES used in earlier versions. Después de actualizar una instancia de Motor de base de datosDatabase Engine a SQL Server 2012 (11.x)SQL Server 2012 (11.x) , se deben volver a generar las claves SMK y DMK para actualizar las claves maestras al algoritmo AES.After upgrading an instance of the Motor de base de datosDatabase Engine to SQL Server 2012 (11.x)SQL Server 2012 (11.x) the SMK and DMK should be regenerated in order to upgrade the master keys to AES. Para más información sobre cómo volver a generar la SMK, vea ALTER SERVICE MASTER KEY.For more information about regenerating the SMK, see ALTER SERVICE MASTER KEY.

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.When the FORCE option is used, key regeneration will continue even if the master key is unavailable or the server cannot decrypt all the encrypted private keys. Si no puede abrir la clave maestra, use la instrucción RESTORE MASTER KEY para restaurar la clave maestra desde una copia de seguridad.If the master key cannot be opened, use the RESTORE MASTER KEY statement to restore the master key from a backup. Utilice la opción FORCE únicamente si la clave maestra es irrecuperable o si se producen errores en el descifrado.Use the FORCE option only if the master key is irretrievable or if decryption fails. Se perderá la información cifrada solamente con una clave irrecuperable.Information that is encrypted only by an irretrievable key will be lost.

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.The DROP ENCRYPTION BY SERVICE MASTER KEY option removes the encryption of the database master key by the service master key.

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.ADD ENCRYPTION BY SERVICE MASTER KEY causes a copy of the master key to be encrypted using the service master key and stored in both the current database and in master.

PermisosPermissions

Necesita el permiso CONTROL en la base de datos.Requires CONTROL permission on the database. Si la clave maestra de la base de datos se ha cifrado con una contraseña, es necesario conocer dicha contraseña.If the database master key has been encrypted with a password, knowledge of that password is also required.

EjemplosExamples

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.The following example creates a new database master key for AdventureWorks and reencrypts the keys below it in the encryption hierarchy.

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

Ejemplos: Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse y Almacenamiento de datos paralelosParallel Data WarehouseExamples: Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse and Almacenamiento de datos paralelosParallel Data Warehouse

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.The following example creates a new database master key for AdventureWorksPDW2012 and re-encrypts the keys below it in the encryption hierarchy.

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

Consulte tambiénSee Also