Estou trabalhando com uma sessão de evento estendida no SQL Server e encontrei uma parte do código T-SQL que não entendo totalmente. Especificamente, estou intrigado com o uso de "Mode = 3 OR Mode = 4" na seguinte parte do código:
...
ADD EVENT sqlserver.latch_suspend_end
(WHERE (
Duration > 0
AND (Mode = 3 OR Mode = 4)
AND has_waiters = 1
)
)
...
Tenho tentado encontrar documentação ou qualquer tipo de informação que explique o que "Mode = 3" e "Mode = 4" representam neste contexto, mas até agora não tive sorte.
Além disso, estou interessado em encontrar uma fonte abrangente de documentação ou referência que descreva as propriedades e possíveis valores para diferentes eventos, não apenas para este exemplo específico. Alguém poderia me indicar a documentação relevante ou explicar o que esses valores de modo significam nesta sessão de evento estendida?
Agradeço antecipadamente por sua ajuda!
Esses valores correspondem a
UP
eEX
travas .O
mode
campo é do tipo de dadoslatch_mode
.O mapeamento de valores numéricos para significados está contido em
sys.dm_xe_map_values
NB: Não tenho ideia do que
LASTLATCH
se trata a entrada e se isso pode realmente ser visto na prática. A documentação da trava principal menciona apenas as entradas com valores1
para5
.sys.dm_os_wait_stats
A documentação também mencionaLATCH_NL
"apenas para fins informativos", mas nenhum 7º modo misterioso. Este pode ser um problema semelhante ao falsolock_mode
que Paul White analisa aqui .Embora também seja mencionado aqui no contexto de uma mensagem de erro aparentemente vista no SQL Server 2000 8.00.194
Para obter esses mapeamentos no futuro, você pode ajustar a consulta de exemplo C.5 sys.dm_xe_map_values e os campos de evento para obter os valores mostrados na tabela acima.