2016-12-30 58 views
1

我們使用與SQL數據庫進行通信並檢索並插入所有信息的第三方公司軟件。如何在特定應用程序中跟蹤SQL事件探查器中的步驟

當用戶使用此軟件時,有時會在特定的步驟中凍結。 我需要解決它並找出它發生的原因。

爲此,我使用SQL事件探查器查看哪些查詢會導致此瓶頸。 但是,我將如何跟蹤僅針對特定軟件的步驟,以及僅針對特定用戶?我不想看到所有其他信息。

enter image description here

我能過濾NTUserName,這我假設它只是用戶名,是否正確? 但是我怎樣才能找出ApplicationName是什麼?

如果我運行了這個查詢,我看到了13個不同的應用程序,包括Microsoft Office,Report Server等等。他們都聽不到我們使用的軟件的名字。 (MGA系統。保險管理系統)

select distinct 
    program_name 
from sys.dm_exec_sessions 
where is_user_process = 1; 
+0

ApplicationName將是連接字符串中指定的值,或者如果沒有指定,則默認值根據客戶端API而變化。例如,SqlClient將使用通用的「.Net SqlClient數據提供程序」值。 –

回答

1

您需要知道使用該應用程序的人的用戶名。然後,您的位置在NTUsername > Like > [User Name without the domain if they are on the same network]中爲windows AD連接字符串輸入用戶名,如果是sqlserver用戶,則在username而不是ntsurename中輸入相同的步驟。然後,您可以過濾他們的查詢。

+0

謝謝你們,還有hostname幫了很多。是的,應用程序名稱是「.Net SqlClient數據提供程序」。再次感謝 – Oleg

1

這是我知道的唯一途徑。只需運行探查器即可讓該人員運行應用程序,並查看與運行時間最接近的時間以獲取應用程序的名稱。您也可以通過數據庫名稱來過濾它,以此方式進行修剪。事件探查器有時很棘手,爲了獲得你想要的信息,你需要繼續與過濾器搞混。對不起,我不能更多的幫助分析器是ornery。