2009-07-21 109 views
1

我正在使用SQL 2000作为我的应用程序。我的应用程序使用N个表格。 我的应用程序有一个叫做数据库服务器的SQL服务器的包装器。它作为24/7的Windows服务运行。数据库表锁

如果我已经检查了SQL维护计划中的完整性检查选项,那么当此任务运行一次后,其中一个表已被锁定并且从未解锁。 所以我的数据库事务的历史已经失去。

请提供您的建议如何解决这个问题。

+0

这是一个持续的问题,或者是它是从未被释放的一次性锁? CHECK INTEGRITY维护计划步骤会专门锁定数据库,这可能会导致争用问题。如果您拥有SQL Server Enterprise,它可以在保持联机状态下执行此操作,但Standard不太适合共享。 – SqlRyan 2009-07-24 04:32:06

回答

1

如果客户端命令超时会怎么样?由于DBCC,锁是你自己的锁?

您的代码将超时等待DBCC完成,但它已发出的任何锁都不会回滚。

命令超时告诉SQL Server停止处理。要释放锁定,您需要在连接上进行ROLLACK或关闭连接。

选项:在SQL