Sintomas
Considere o seguinte cenário:
-
Pode utilizar o Microsoft SQL Server Service Pack 2 (SP2) Cumulativo 2 (CU2) ou versões posteriores do Microsoft SQL Server 2016.
-
Está a executar uma instância que aloga muitas bases de dados (normalmente mais de 200) e a instância faz parte de um Grupo de Disponibilidade Always On (AG) (normalmente com a função de servidor secundário). Note Todas as bases de dados de utilizador não precisam de pertencer a AGs.
-
Executa uma aplicação VSS (Volume Shadow Copy Services) para pedir uma cópia de segurança de todas ou algumas bases de dados da instância SQL Server cópia de segurança.
Neste cenário, a Serviço SQL Writer pode chegar a uma situação de bloqueio e manter indefinidamente bloqueios contra uma tabela de sistema interna na forma mestre (sys.sysdbreg com object_id 28). Além disso, estes bloqueios impedem a leitura a partir das Vistas de Gestão Dinâmica (DMV) do sistema , como sys.dm_hadr_database_replica_states, e podem levar a bloqueios secundários principais na instância. Além disso, repare que a análise de cadeia de bloqueio devolve a seguinte declaração com origem no SQL Server VSS Writer como um bloqueador de cabeçalho:
"select name, recovery_model_desc, state_desc, CONVERT(integer, is_in_standby), ISNULL(source_database_id,0) from master.sys.databases"
Em SQL Server, terá o estado de espera de ASYNC_NETWORK_IO.
Note Uma vez ASYNC_NETWORK_IO a espera de ASYNC_NETWORK_IO foi implementada, a wait_time contra a mesma nunca irá exceder dois segundos (2000 ms). No entanto, o tipo de espera irá permanecer no local indefinidamente e esta situação nunca será desbloqueada sozinho. É necessário que mate o Serviço SQL Writer desbloquear a situação.
Entre SPID bloqueado por este bloqueador de cabeçalhos, normalmente haverá um DBSTARTUP SPID (refazer sempre em DB Secundário).
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Resolução
Este problema foi corrigido nas seguintes atualizações cumulativas para SQL Server:
Acerca das atualizações cumulativas para SQL Server:
Cada nova atualização cumulativa para o SQL Server contém todas as correções de segurança incluídas na atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:
Referências
Saiba mais sobre a terminologia que a Microsoft utiliza para descrever atualizações de software.