由于成为僵局的受害者,Reindex工作失败,但这是凌晨3点运行的唯一过程。

我在一个维护计划中有一个reindex工作,我在凌晨3点在给定的数据库的每个表上运行,所以它不会中断任何其他工作。

然而,这是失败的,并报告原因是桌上的僵局的受害者 – 我怎样才能算出什么locking表以外的表?

你有死锁跟踪标志启用(1222等)? 这些会给你一个在SQL Server的ERRORLOG文件(通常在日志目录)的死锁转储,因此应该帮助你到底部。 有关更多详细信息,请参阅http://msdn.microsoft.com/zh-CN/library/ms178104(v=SQL.90).aspx 。

可以使用DBCC TRACEON (-1, 1222)启用当前服务。 但是,如果您希望traceflag是永久更改,则需要将traceflag放入SQL Server的启动参数( -T1222 ),然后停止并重新启动SQL Server。

您还可以创build捕获死锁graphics的代理作业。 请参阅: http : //msdn.microsoft.com/en-us/library/ms186385%28v=SQL.90%29.aspx