Cambio del tiempo de recuperación de destino de una base de datos (SQL Server)

Se aplica a:SQL Server

En este artículo se describe cómo establecer o cambiar el tiempo de recuperación objetivo de una base de datos en SQL Server mediante SQL Server Management Studio o Transact-SQL. De forma predeterminada, el tiempo de recuperación de destino es de 60 segundos y la base de datos usa puntos de comprobación indirectos. El tiempo de recuperación de destino establece un límite superior en el tiempo de recuperación para esta base de datos.

Esta configuración surte efecto inmediatamente y no requiere un reinicio de SQL Server.

Nota

El límite superior especificado para una base de datos determinada por el valor de tiempo de recuperación de destino se puede superar si una transacción de larga duración provoca tiempos de UNDO excesivos.

Limitaciones y restricciones

Una carga de trabajo transaccional en línea en una base de datos que esté configurada para puntos de control indirectos podría experimentar una degradación del rendimiento. Los puntos de comprobación indirectos garantizan que el número de páginas desfasadas se encuentra por debajo de un umbral determinado para que la recuperación de la base de datos finalice en el tiempo de recuperación de destino. La opción de configuración intervalo de recuperación usa el número de transacciones para determinar el tiempo de recuperación, a diferencia de los puntos de control indirectos, que usan el número de páginas desfasadas.

Cuando se habilitan los puntos de comprobación indirectos en una base de datos que recibe un gran número de operaciones de DML, el escritor en segundo plano puede iniciar agresivamente el vaciado de búferes desfasados en el disco para asegurarse de que el tiempo necesario para realizar la recuperación se encuentra dentro del tiempo de recuperación de destino establecido en la base de datos. Esto puede provocar actividad de E/S adicional en determinados sistemas, lo que puede contribuir a un cuello de botella de rendimiento si el subsistema del disco está funcionando por encima del umbral de E/S o cerca de él.

Permisos

Requiere el permiso ALTER en la base de datos.

Usar SQL Server Management Studio

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos de SQL Server y expándala.

  2. Expanda el contenedor Bases de datos, haga clic con el botón derecho en la base de datos que quiera cambiar y seleccione el comando Propiedades.

  3. En el cuadro de diálogo Propiedades de la base de datos, seleccione la página Opciones.

  4. En el panel Recuperación, en el campo Tiempo de recuperación de destino (segundos) , especifique el número de segundos que quiera como límite superior para el tiempo de recuperación de esta base de datos.

Uso de Transact-SQL

  1. Conéctese a la instancia de SQL Server donde reside la base de datos.

  2. Use la instrucción ALTER DATABASE del siguiente modo:

    TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }

    target_recovery_time
    A partir de SQL Server 2016 (13.x), el valor predeterminado es 1 minuto. Cuando el valor es mayor que 0 (valor predeterminado para versiones más antiguas), especifica el límite superior para el tiempo de recuperación de la base de datos especificada en caso de bloqueo.

    SECONDS
    Indica que target_recovery_time se expresa como el número de segundos.

    MINUTES
    Indica que target_recovery_time se expresa como el número de minutos.

    El ejemplo siguiente se establece el tiempo de recuperación de destino de la base de datos de AdventureWorks2022 en 60 segundos.

    ALTER DATABASE AdventureWorks2022 SET TARGET_RECOVERY_TIME = 60 SECONDS;
    

Consulte también