2015-11-02 36 views
0

我想知道是否有工具或方法來查看哪些語句導致塊/鎖和哪些對象會受到影響?我知道sp_who和sp_who2,但這些只在系統運行時才起作用。查看SQL塊/鎖?

例如,我知道運行以下命令:

UPDATE myTable SET col1 = 'something' 

會放一個鎖「myTable的」,但也有更復雜的情況(如嵌套的特效和觸發器),這將是更加難以確定。

我希望像內置到SSMS「實際執行計劃」的工具,但其他工具,查詢就足夠了

感謝所有

回答

2

你可以參考這個blog,並按照不同的方式來識別塊:存儲過程

  • sys.dm_exec_requests視圖DMV
  • Sys.dm_os_waiting_tasks
  • SQL Server管理

    • sp_who2系統Studio Activity Monitor
    • SQL Server Management Studio報告
    • SQL Server事件探查

    同時檢查:Different techniques to identify blocking in SQL Server

  • 0

    您可以使用SQL活動監控(右鍵單擊SQL SSMS中的實例)來獲取當前鎖的數量列表等,您可以使用「進程」面板的「任務狀態」列查看當前正在運行的語句,這些語句會告訴您是否阻塞了事件。

    這些都集中在其當前正在執行的,雖然活動,所以我不知道這將是你想要的。