Cambiar el tiempo de recuperación de destino de una base de datos (SQL Server)Change the Target Recovery Time of a Database (SQL Server)

SE APLICA A: síSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

En este tema se describe cómo establecer el cambio el tiempo de recuperación de destino de una base de datos de SQL ServerSQL Server en SQL ServerSQL Server mediante SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to set the change the target recovery time of a SQL ServerSQL Server database in SQL ServerSQL Server by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-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.By default, the target recovery time is 60 seconds, and the database uses indirect checkpoints. El tiempo de recuperación de destino establece un límite superior en el tiempo de recuperación para esta base de datos.The target recovery time establishes an upper-bound on recovery time for this database.

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.The upper-bound that is specified for a given database by its target recovery time setting could be exceeded if a long-running transaction causes excessive UNDO times.

Antes de comenzarBefore You Begin

Limitaciones y restriccionesLimitations and Restrictions

Precaución

Una carga de trabajo transaccional en línea en una base de datos que esté configurada para puntos de comprobación indirectos podría experimentar un deterioro del rendimiento.An online transactional workload on a database that is configured for indirect checkpoints could experience performance degradation. 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.Indirect checkpoints make sure that the number of dirty pages are below a certain threshold so that the database recovery completes within the target recovery time. 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 comprobación indirectos, que usan el número de páginas desfasadas.The recovery interval configuration option uses the number of transactions to determine the recovery time as opposed to indirect checkpoints which makes use of the number of dirty pages. 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.When indirect checkpoints are enabled on a database receiving a large number of DML operations, the background writer can start aggressively flushing dirty buffers to disk to ensure that the time required to perform recovery is within the target recovery time set on the database. 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.This can cause additional I/O activity on certain systems, which can contribute to a performance bottleneck if the disk subsystem is operating above or nearing the I/O threshold.

SeguridadSecurity

PermisosPermissions

Requiere el permiso ALTER en la base de datos.Requires ALTER permission on the database.

Uso de SQL Server Management StudioUsing SQL Server Management Studio

Para cambiar el tiempo de recuperación de destinoTo change the target recovery time

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos de SQL ServerSQL Server Database Enginey expándala.In Object Explorer, connect to an instance of the Motor de base de datos de SQL ServerSQL Server Database Engine, and expand that instance.

  2. Expanda el contenedor Bases de datos, haga clic con el botón derecho en la base de datos que quiera cambiar y haga clic en el comando Propiedades.Expand the Databases container, then right-click the database you want to change, and click the Properties command.

  3. En el cuadro de diálogo Propiedades de la base de datos , haga clic en la página Opciones .In the Database Properties dialog box, click the Options page.

  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.In the Recovery panel, in the Target Recovery Time (Seconds) field, specify the number of seconds that you want as the upper-bound of the recovery time for this database.

Usar Transact-SQLUsing Transact-SQL

Para cambiar el tiempo de recuperación de destinoTo change the target recovery time

  1. Conéctese a la instancia de SQL ServerSQL Server donde reside la base de datos.Connect to the instance of SQL ServerSQL Server where the database resides.

  2. Use la siguiente instrucción ALTER DATABASE del siguiente modo:Use the following ALTER DATABASE statement, as follows:

    TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }

    target_recovery_timetarget_recovery_time
    Empezando por SQL Server 2016 (13.x)SQL Server 2016 (13.x), el valor predeterminado es 1 minuto.Beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x), the default value is 1 minute. 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.When greater than 0 (the default for older versions), specifies the upper-bound on the recovery time for the specified database in the event of a crash.

    SECONDSSECONDS
    Indica que target_recovery_time se expresa como el número de segundos.Indicates that target_recovery_time is expressed as the number of seconds.

    MINUTESMINUTES
    Indica que target_recovery_time se expresa como el número de minutos.Indicates that target_recovery_time is expressed as the number of minutes.

    El ejemplo siguiente se establece el tiempo de recuperación de destino de la base de datos de AdventureWorks2012AdventureWorks2012 en 60 segundos.The following example sets the target recovery time of the AdventureWorks2012AdventureWorks2012 database to 60 seconds.

    ALTER DATABASE AdventureWorks2012 SET TARGET_RECOVERY_TIME = 60 SECONDS;  
    

Consulte tambiénSee Also

Puntos de comprobación de base de datos (SQL Server) Database Checkpoints (SQL Server)
Opciones de ALTER DATABASE SET (Transact-SQL)ALTER DATABASE SET Options (Transact-SQL)