Configuración del servidor: tiempo de reintento del limpiador de ADR (en minutos)
Se aplica a: SQL Server
A partir de SQL Server 2019 (15.x), esta configuración es necesaria para la recuperación acelerada de bases de datos (ADR). El limpiador es el proceso asincrónico que se activa periódicamente y limpia las versiones de la página que no son necesarias.
En ocasiones, el limpiador experimenta incidencias a la vez que se adquieren bloqueos de nivel de objeto debido a conflictos con la carga de trabajo del usuario durante su limpieza. Realiza un seguimiento de estas páginas en una lista independiente. ADR cleaner retry timeout (min)
controla el periodo de tiempo que el limpiador dedicaría exclusivamente a reintentar la adquisición y limpieza del bloqueo de objeto de la página antes de abandonar el barrido. La finalización de un barrido con un 100 % de éxito es fundamental para mantener el crecimiento de las transacciones anuladas en el mapa de transacciones anuladas. Si no se puede limpiar la lista independiente en el tiempo de expiración establecido, se abandonará el barrido actual y se iniciará el siguiente.
Versión | Valor predeterminado |
---|---|
SQL Server 2019 (15.x) | 120 |
SQL Server 2022 (16.x) y versiones posteriores | 15 |
Observaciones
El limpiador tiene un único subproceso en SQL Server 2019 (15.x) y, por tanto, una instancia de SQL Server no puede funcionar en varias bases de datos a la vez. Si la instancia tiene varias bases de datos de usuario con ADR habilitado, no aumente el tiempo de expiración hasta un valor grande, ya que podría retrasar la limpieza en una base de datos mientras se produce el reintento en otra.
Problema conocido
En SQL Server 2019 (15.x) CU 12 y en las versiones anteriores, este valor puede estar establecido en 0
. Se recomienda restablecerlo manualmente en 120
, que es el valor predeterminado diseñado, siguiendo el ejemplo de este artículo.
Ejemplos
En el siguiente ejemplo se establece el tiempo de espera de reintento del limpiador en el valor predeterminado.
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 120;
RECONFIGURE;
GO
Ejemplos
En el siguiente ejemplo se establece el tiempo de espera de reintento del limpiador en el valor predeterminado.
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 15;
RECONFIGURE;
GO