Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
A partir de SQL Server 2019 (15.x), esta configuración se usa para la Recuperación acelerada de la base de datos (ADR). El limpiador es un proceso asincrónico que se activa periódicamente y limpia las versiones de la fila que no sean necesarias.
En ocasiones, el limpiador podría encontrarse con problemas al adquirir bloqueos IX
de nivel de objeto o partición debido a conflictos con cargas de trabajo de usuario durante su limpieza. El limpiador realiza un seguimiento de estas páginas en una lista independiente. ADR cleaner retry timeout (min)
controla la cantidad de tiempo que el limpiador dedica exclusivamente a reintentar la adquisición de bloqueos de IX
y la limpieza de páginas antes de abandonar la limpieza. Completar el proceso con un éxito del 100% es esencial para limitar el crecimiento de las transacciones anuladas en su correspondiente mapa. Si las páginas de la lista independiente no se pueden limpiar en el tiempo de espera prescrito, se abandona el barrido actual y se intenta limpiar durante el siguiente barrido.
Versión | Valor predeterminado |
---|---|
SQL Server 2019 (15.x) | 120 |
SQL Server 2022 (16.x) y versiones posteriores | 15 |
Observaciones
El limpiador es de un solo subproceso en SQL Server 2019 (15.x). En SQL Server 2022 (16.x), el limpiador es de un solo subproceso de manera predeterminada, pero se puede convertir en multiproceso configurando la configuración del servidor ADR Cleaner Thread Count
.
Si el limpiador es de un solo hilo, solo puede trabajar en una base de datos a la vez. Si la instancia tiene más de una base de datos con ADR habilitado, no aumente el tiempo de espera a 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