1

我已成功只能在Audio Login事件中看到transaction isolation level事件。有沒有其他方法可以使用SQL事件探查器或使用其他工具來監視transaction isolation level更改?我問的原因是因爲SQL Profiler似乎無法以正確的順序輸出事件或跳過事件,因爲在我的應用程序中將IsolationLevel設置爲Serializable時,它仍顯示transaction isolation level read committed如何監視SQL事件探查器或任何其他工具中的事務隔離級別更改

Audit Login在SQL事件探查器:

-- network protocol: Named Pipes 
set quoted_identifier on 
set arithabort off 
set numeric_roundabort off 
set ansi_warnings on 
set ansi_padding on 
set ansi_nulls on 
set concat_null_yields_null on 
set cursor_close_on_commit off 
set implicit_transactions off 
set language us_english 
set dateformat mdy 
set datefirst 7 
set transaction isolation level serializable 

回答

0

恐怕沒有一個。

即使有一個,你想查看在連接中查詢多個表的位置,以及一個或多個NOLOCK是否被讀取未提交?

探查在語句級而不是表級報告的查詢,以便你會事務隔離級別的組合(這是探查和擴展事件的真實)

你能做的最好是手動解析語句開始(批處理和過程)並查找設置的事務隔離級別。

ed

+0

對於SQL Profiler中的所有查詢都不錯。但在這種特殊情況下,我希望使用實體框架6在一個簡單的db.Orders.Find(1)查詢中查看它在BeginTransaction(IsolationLevel.Serializable)中的隔離級別。 – PussInBoots

+0

我認爲你不會得到因爲即使你正在運行一個語句(可能是SELECT * FROM Orders),也可能是SQL,它可能是一個包含10個表的視圖,在某些表上有NOLOCK,所以不同的隔離級別 –