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 temasConvenciones 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. La API utiliza una clave derivada de las credenciales de Windows de la cuenta de servicio de SQL Server.

La clave maestra de servicio solo puede descifrarse con la cuenta de servicio en la que se creó o con una entidad de seguridad que tenga acceso a las credenciales de Windows de dicha cuenta de servicio. Por consiguiente, si cambia la cuenta de Windows en la que se ejecuta el servicio SQL Server, también deberá permitir que la nueva cuenta descifre la clave maestra de servicio.

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.

Las opciones de MACHINE KEY permiten agregar o quitar el cifrado mediante la clave del equipo.

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