Sintomas
Assuma que utiliza o Microsoft SQL Server 2016 e 2017. Se permitir que o xml_deadlock_report do evento recolha dados para impasses, muitos eventos xml_deadlock_report são reportados para uma única ocorrência de impasse intra-consulta.
Solução
Como solução alternativa para esta edição, pode recolher o error_reported XEvent utilizando um filtro error_number = 1205 em vez de xml_deadlock_report, como se pode ver no seguinte exemplo:
CRIAR SESSÃO DE EVENTOS [DEADLOCK_COLLECTION] NO SERVIDOR
ADD EVENT sqlserver.error_reported.
ONDE ([error_number]=(1205))
ADICIONAR PACOTE TARGET0.histograma (SET filtering_event_name=N'sqlserver.lock_acquired',source=N'sqlserver.query_hash')
COM (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=ON,STARTUP_STATE=OFF)
VAI
Resolução
Esta emissão é corrigida nas seguintes atualizações cumulativas para o SQL Server:
Atualização Cumulativa 10 para SQL Server 2017
Atualização Cumulativa 2 para SQL Server 2016 SP2
Nota:Com esta correção, não são reportados xml_deadlock_report eventos para o impasse intra-consulta quando o impasse pode ser resolvido sem matar um fio.
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Confira as últimas atualizações cumulativas do SQL Server:
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Referências
Conheça a terminologiaque a Microsoft utiliza para descrever atualizações de software.