【问题标题】:Restart the SQL Server while rollback回滚时重新启动 SQL Server
【发布时间】:2018-10-02 15:16:03
【问题描述】:

我杀死了一个正在运行一段时间的进程,在我杀死该进程之后,它现在开始回滚,这又需要时间。如果我重新启动 SQL Server 会不会好,如果我重新启动服务器,数据会发生什么,数据库中的数据会损坏还是会导致任何其他问题。

任何帮助将不胜感激。

【问题讨论】:

  • 让回滚完成。
  • 你可以通过运行KILL [the relevant spid] WITH STATUSONLY来大致检查回滚需要多长时间
  • 一个合适的数据库被设计成不会因为重启而损坏。但是回滚无论如何都必须完成。 (带有回滚的事务实际上是正确的数据库不容易损坏的原因)
  • 我不知道,@Diado - 谢谢你教我一些新东西。

标签: sql-server tsql database-administration


【解决方案1】:

必须处理回滚。重新启动服务器只会导致额外的延迟。当服务器启动时,它会继续进行回滚。但在此之前,它会通过事务日志将整个事务前滚到您杀死它的位置。

【讨论】:

    【解决方案2】:

    如果我重新启动 SQL Server 就可以了,

    几乎当然。

    服务器应该没问题,但是您所做的只是浪费了它已经花费的时间,因为它只是要再次启动并重新启动回滚。

    注意上面的“几乎”。虽然 SQL Server 非常有弹性,但我不会在它忙的时候故意杀死它,因为你会得到最好的结果就是等待更长的时间,而且你可能会得到一个损坏的数据库。

    【讨论】:

      猜你喜欢
      • 2011-04-28
      • 1970-01-01
      • 2015-10-17
      • 1970-01-01
      • 1970-01-01
      • 2014-10-26
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      相关资源
      最近更新 更多