2010-06-25 97 views
0

我不是一個Db傢伙。但有時候我會被要求檢查Db,看看有沒有阻止Db的進程,如果是的話,KILL!如何決定在SQL Server活動監視器中殺死哪個進程?

您能否解釋一下,如何找到正確的過程候選人來解決活動監視器的最佳閱讀方式?首先檢查哪些列,​​並針對哪些值進行檢查?

謝謝你,

回答

1

我不知道你爲什麼會要殺死在SQL Server中的任何進程。 SQL Server在管理鎖方面做得非常好,如果真的有必要,SQL Server會選擇一個「死鎖受害者」來殺死。 (我認爲這部分是基於用戶屬於哪個角色)

我不會認爲你會得到任何有用的信息,你可以根據你將要殺死的人。多數情況下,當你調查鎖定並選擇殺人時,鎖定可能已經解決。

我認爲你應該真的在尋找爲什麼你首先得到了鎖 - 不僅僅是殺死隨機過程。

+0

下面是一個需要它的案例:我們必須使用第三方ODBC驅動程序從SQL Server 2005查詢到遠程源。非常偶然地使用這個工作將會「卡住」,鎖定表格,這需要手動殺死。 – Yellowfog 2010-06-25 09:54:52

1

我會首先看看活動監視器中被阻止的列,這會給出導致阻塞的進程的進程ID。然後,我會找到進程並查看詳細信息,以確切查看阻止進程正在執行的操作。