Compartir por


ALTER SERVICE MASTER KEY (Transact-SQL)

Se aplica a: SQL Server Azure SQL Managed Instance

Cambia la clave maestra de servicio de una instancia de SQL Server.

Convenciones de sintaxis de Transact-SQL

Sintaxis

ALTER SERVICE MASTER KEY   
    [ { <regenerate_option> | <recover_option> } ] [;]  
  
<regenerate_option> ::=  
    [ FORCE ] REGENERATE  
  
<recover_option> ::=  
    { WITH OLD_ACCOUNT = 'account_name' , OLD_PASSWORD = 'password' }  
    |      
    { WITH NEW_ACCOUNT = 'account_name' , NEW_PASSWORD = 'password' }  

Argumentos

FORCE
Indica que la clave maestra de servicio debe volver a generarse, a pesar del riesgo de perder datos. Para obtener más información, vea las explicaciones sobre cómo se cambia la cuenta de servicio de SQL Server más adelante en este tema.

REGENERATE
Indica que la clave maestra de servicio debe volver a generarse.

OLD_ACCOUNT ='account_name'
Especifica el nombre de la antigua cuenta de servicio de Windows.

Advertencia

Esta opción es obsoleta. No utilizar. Utilice el administrador de configuración de SQL Server en su lugar.

OLD_PASSWORD ='password'
Especifica la contraseña de la antigua cuenta de servicio de Windows.

Advertencia

Esta opción es obsoleta. No utilizar. Utilice el administrador de configuración de SQL Server en su lugar.

NEW_ACCOUNT ='account_name'
Especifica el nombre de la nueva cuenta de servicio de Windows.

Advertencia

Esta opción es obsoleta. No utilizar. Utilice el administrador de configuración de SQL Server en su lugar.

NEW_PASSWORD ='password'
Especifica la contraseña de la nueva cuenta de servicio de Windows.

Advertencia

Esta opción es obsoleta. No utilizar. Utilice el administrador de configuración de SQL Server en su lugar.

Observaciones

La clave maestra de servicio se vuelve a generar automáticamente la primera vez que se necesita para cifrar una contraseña de servidor vinculado, una credencial o una clave maestra de base de datos. La clave maestra del servicio se cifra mediante la clave del equipo local o la API de protección de datos de Windows. Esta API usa una clave derivada de las credenciales de Windows de la cuenta de servicio de SQL Server.

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

Cambiar la cuenta de servicio de SQL Server

Para cambiar la cuenta de servicio de SQL Server, use el Administrador de configuración de SQL Server. Para administrar un cambio de la cuenta de servicio, SQL Server almacena una copia redundante de la clave maestra de servicio protegida por la cuenta de equipo que tenga los permisos necesarios concedidos al grupo de servicio de SQL Server. Si se vuelve a generar el equipo, el mismo usuario de dominio que la cuenta de servicio utilizaba previamente puede recuperar la clave maestra de servicio. Esto no es válido con cuentas locales o con las cuentas Local System, Local Service o Network Service. Cuando vaya a mover SQL Server a otro equipo, migre la clave maestra de servicio utilizando copias de seguridad y restauración.

La frase REGENERATE vuelve a generar la clave maestra de servicio. Si se vuelve a generar la clave maestra de servicio, SQL Server descifra todas las claves cifradas con ella y, a continuación, vuelve a cifrarlas con la nueva clave maestra de servicio. Es una operación que requiere un uso intensivo de los recursos. Por ello, debe programarse durante un período de poco uso, a menos que la clave se encuentre en peligro. Si se producen errores durante alguno de los descifrados, se producirán errores en toda la instrucción.

La opción FORCE hace que el proceso para volver a generar la clave continúe aunque no pueda recuperar la clave maestra actual o no pueda descifrar todas las claves privadas cifradas con ella. Utilice FORCE solo si se producen errores al volver a generar la clave y no puede restaurar la clave maestra de servicio con la instrucción RESTORE SERVICE MASTER KEY.

Precaución

La clave maestra de servicio es la raíz de la jerarquía de cifrado de SQL Server . La clave maestra de servicio protege directa o indirectamente las demás claves y secretos del árbol. Si no es posible descifrar una clave dependiente durante una regeneración forzada, se perderán los datos que protege la clave.

Si mueve SQL a otro equipo, tiene que usar la misma cuenta de servicio para descifrar la SMK; SQL Server corregirá el cifrado de la cuenta de equipo automáticamente.

Permisos

Requiere el permiso CONTROL SERVER en el servidor.

Ejemplos

En el siguiente ejemplo se vuelve a generar la clave maestra de servicio.

ALTER SERVICE MASTER KEY REGENERATE;  
GO  

Consulte también

RESTORE SERVICE MASTER KEY (Transact-SQL)
BACKUP SERVICE MASTER KEY (Transact-SQL)
Jerarquía de cifrado