我想知道是否有工具或方法來查看哪些語句導致塊/鎖和哪些對象會受到影響?我知道sp_who和sp_who2,但這些只在系統運行時才起作用。查看SQL塊/鎖?
例如,我知道運行以下命令:
UPDATE myTable SET col1 = 'something'
會放一個鎖「myTable的」,但也有更復雜的情況(如嵌套的特效和觸發器),這將是更加難以確定。
我希望像內置到SSMS「實際執行計劃」的工具,但其他工具,查詢就足夠了
感謝所有
我想知道是否有工具或方法來查看哪些語句導致塊/鎖和哪些對象會受到影響?我知道sp_who和sp_who2,但這些只在系統運行時才起作用。查看SQL塊/鎖?
例如,我知道運行以下命令:
UPDATE myTable SET col1 = 'something'
會放一個鎖「myTable的」,但也有更復雜的情況(如嵌套的特效和觸發器),這將是更加難以確定。
我希望像內置到SSMS「實際執行計劃」的工具,但其他工具,查詢就足夠了
感謝所有
你可以參考這個blog,並按照不同的方式來識別塊:存儲過程
- sp_who2系統Studio Activity Monitor
- SQL Server Management Studio報告
- SQL Server事件探查
同時檢查:Different techniques to identify blocking in SQL Server
您可以使用SQL活動監控(右鍵單擊SQL SSMS中的實例)來獲取當前鎖的數量列表等,您可以使用「進程」面板的「任務狀態」列查看當前正在運行的語句,這些語句會告訴您是否阻塞了事件。
這些都集中在其當前正在執行的,雖然活動,所以我不知道這將是你想要的。