2012-12-11 73 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

相关问题