【问题标题】:Stopping the Delete Operation in SQL Server停止 SQL Server 中的删除操作
【发布时间】:2012-03-19 17:42:03
【问题描述】:

我想删除 SQL Server 2005 表上的大量数据(大约 8000 万条记录)。没有说明begin tran,我写了我的删除查询,比如

Delete from myTable 
where columnA > X' 

其中columnA 不是表的主键。它从4小时前开始,仍未完成。我已经在具有相似行数和相似条件的类似场景中进行了测试,操作在大约 70 分钟内完成,但同时主服务器功能更强大,但在使用 4 小时后它并没有停止。数据库已配置为提供Full recovery 模型。

我想知道我是否可以通过杀死相应进程的SPID来停止这个永无止境的操作,如果我这样做了,会发生什么? sql server会开始回滚操作吗?数据库会被挂起吗?解决办法是什么?

【问题讨论】:

    标签: sql-server-2005


    【解决方案1】:

    是的,服务器会回滚删除操作,

    但是

    这样的回滚通常需要更多时间来完成,而不是之前花费在操作上的时间。

    数据库不会被挂起,但表上的锁会一直保持到回滚完成。

    【讨论】:

      猜你喜欢
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多