Sql 主数据库数据库启动问题
我有一个SQL Server 2008数据库,这个数据库有一个我不理解的问题 导致问题的步骤包括:Sql 主数据库数据库启动问题,sql,sql-server,sql-server-2008,locking,Sql,Sql Server,Sql Server 2008,Locking,我有一个SQL Server 2008数据库,这个数据库有一个我不理解的问题 导致问题的步骤包括: 我运行了一个SQL查询来从另一个名为authorAff的表更新名为authors的表 authors表是123385300条记录,authorsAff表是139036077 查询执行大约花了7天时间,但没有完成 我决定用另一种方式取消查询 我运行查询的连接突然断开,因此数据库处于恢复状态,直到查询取消 由于一些电力问题,服务器多次关闭 数据库花了大约两天时间才恢复 现在当我运行这个查询时 选择前
- 我运行了一个SQL查询来从另一个名为authorAff的表更新名为authors的表
- authors表是123385300条记录,authorsAff表是139036077
- 查询执行大约花了7天时间,但没有完成
- 我决定用另一种方式取消查询
- 我运行查询的连接突然断开,因此数据库处于恢复状态,直到查询取消
- 由于一些电力问题,服务器多次关闭
- 数据库花了大约两天时间才恢复
- 现在当我运行这个查询时 选择前1000名* 来自具有(重新提交未提交)的作者
提前谢谢。我怀疑您的用户数据库仍在尝试回滚您取消的事务。一般的经验法则表明,中止的事务回滚所需的时间与运行所需的时间大致相同,甚至更长 即使SQL Server停止并启动,也无法避免回滚 可以使用(READUNCOMMITTED)运行查询的原因是它忽略了与正在回滚的事务相关联的锁。您的查询结果被认为是不可靠的,但具有讽刺意味的是,由于阻塞过程是回滚过程,因此结果可能是您希望看到的结果
最好的解决办法是等待,如果你能负担得起的话。您可能能够找到终止阻塞进程的方法,但是您应该关心数据库的完整性。您是否尝试过在数据库上运行
dbcc checkdb
?