Compartir a través de


ALTER SERVICE MASTER KEY (Transact-SQL)

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

Icono de vínculo a temas 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.

    Nota de advertenciaAdvertencia

    Esta opción es obsoleta. No debe usarse. 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.

    Nota de advertenciaAdvertencia

    Esta opción es obsoleta. No debe usarse. 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.

    Nota de advertenciaAdvertencia

    Esta opción es obsoleta. No debe usarse. 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.

    Nota de advertenciaAdvertencia

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

Comentarios

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 usa el algoritmo de cifrado AES para proteger la clave maestra del 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 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 del servicio de SQL Server. Si se vuelve a generar el equipo, el mismo usuario de dominio usado anteriormente por la cuenta de servicio 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.

Nota de advertenciaAdvertencia

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

Vea también

Referencia

RESTORE SERVICE MASTER KEY (Transact-SQL)

BACKUP SERVICE MASTER KEY (Transact-SQL)

Conceptos

Jerarquía de cifrado