Performance

SQL Server 最慢查詢為 NULL

  • June 26, 2020

我正在查看 SQL Server 昂貴查詢報告和下面的查詢,但兩者都將這個神秘NULL查詢顯示為我伺服器上最慢的查詢。

有什麼方法可以讓我了解有關此NULL查詢的更多資訊以及為什麼它可能會這麼慢?

這是一些內部查詢嗎?如果是這樣,這似乎不應該出現在報告中。

在此處輸入圖像描述

這是NULL在我的伺服器上也顯示為最慢查詢的查詢:

select 
   r.session_id,
   r.status,
   r.command,
   r.cpu_time,
   r.total_elapsed_time,
   t.text
from 
   sys.dm_exec_requests as r
cross apply 
   sys.dm_exec_sql_text(r.sql_handle) as t

在此處輸入圖像描述

我怎樣才能找出這個查詢是什麼以及為什麼它這麼慢?

那是一個系統會話。

DBCC INPUTBUFFER(37);可能會給出它在做什麼的線索,或者CROSS APPLYsys.dm_exec_input_buffer(),但你可能無法更多地了解它在做什麼。由於它是一項後台任務,因此不太可能導致任何其他感知到的緩慢,但是,作為內部,我不確定你可以做些什麼來調整它……

如果您只是隨機檢查dm_exec_requests,您可能應該將其限制為非系統會話(加入sys.dm_exec_sessionswhere is_user_process = 1)。為什麼它沒有從報告中過濾掉,我不知道,我傾向於不使用內置報告,因為我(和供應商)建構了更好的版本。

引用自:https://dba.stackexchange.com/questions/269960