2012-12-11 101 views
1

我需要知道是否有任何方法可以確定SQL Server中某個其他進程是否正在查詢表。如何檢查SQL Server中是否正在查詢表

我想合併表上的空分區,並且該表正在被許多進程查詢。 所以,我需要檢查表是否正在被其他進程讀取/插入,如果是,則比我的合併操作不會繼續。因爲如果它運行,它會被鎖定,並隨着時間的推移而失敗。 由於有時我用完分區或我必須手動運行它。

+0

使用SQL Server Profiler ... http://msdn.microsoft.com/en- us/library/ms181091.aspx – loxxy

+0

我需要在合併前檢查代碼。 – Nausif

+0

你的分區是基於什麼?如果它是基於日期的話,你可以想出一個更好的分區方案。 –

回答

1

如何可能會幫助知道將查詢表未使用?想想看,您收到的任何信息('無查詢')在您採取行動時已經過時。這是不是要走的路,要走的路很簡單,就是減少lock timeout,並嘗試做你的操作:

SET LOCK_TIMEOUT 1; 
ALTER PARTITION FUNCTION ... MERGE ... 
+0

這可以爲我工作.. thnx – Nausif

相關問題