Síntomas
Imagine la siguiente situación:
-
Usa Microsoft SQL Server 2016 Service Pack 2 (SP2) Actualización acumulativa 2 (CU2) o versiones posteriores.
-
Está ejecutando una instancia que hospeda muchas bases de datos (normalmente más de 200) y la instancia forma parte de un grupo de disponibilidad de Always On (AG) (normalmente con el rol de servidor secundario). Nota No es necesario que todas las bases de datos de usuario pertenezcan a AGs.
-
Ejecuta una aplicación de Volume Shadow Copy Services (VSS) para solicitar una copia de seguridad de todas o algunas bases de datos de la instancia de SQL Server.
En este escenario, el Servicio del objeto de escritura de SQL puede llegar a una situación de interbloqueo y mantener bloqueos indefinidamente contra una tabla interna del sistema en maestro (sys.sysdbreg con object_id 28). Además, estos bloqueos a su vez impiden la lectura de las vistas de administración dinámica del sistema (DMV) como sys.dm_hadr_database_replica_states, y pueden conducir a un bloqueo secundario importante en la instancia. Además, observa que el análisis de cadena de bloques devuelve la instrucción siguiente que se origina a partir de la SQL Server VSS Writer como bloqueador de encabezados:
"select name, recovery_model_desc, state_desc, CONVERT(integer, is_in_standby), ISNULL(source_database_id,0) from master.sys.databases"
A continuación, SQL Server tendrá el estado de espera de ASYNC_NETWORK_IO.
Nota Como se implementa la espera de ASYNC_NETWORK_IO , la wait_time contra ella nunca superará los dos segundos (2.000 ms). Sin embargo, el tipo de espera permanecerá en su lugar indefinidamente y esta situación nunca se desbloqueará por sí misma. Requiere que mates al Servicio del objeto de escritura de SQL para desbloquear la situación.
Entre SPID bloqueado por este bloqueador de cabeza, a menudo habrá un DBSTARTUP SPID (siempreen rehacer DB secundario).
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Solución
Este problema se ha corregido en las siguientes actualizaciones acumulativas para SQL Server:
Acerca de las actualizaciones acumulativas para SQL Server:
Cada nueva actualización acumulativa de SQL Server contiene todas las revisiones y todas las correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Echa un vistazo a las últimas actualizaciones acumulativas de SQL Server:
Referencias
Obtén información sobre la terminología que usa Microsoft para describir las actualizaciones de software.