代码之家  ›  专栏  ›  技术社区  ›  paranjai

在SQL Server上执行的查询日志

  •  0
  • paranjai  · 技术社区  · 16 年前

    我在SQLServer2005DB上运行了一个t-sql查询,该查询本应运行4天,但当我在4天后检查时,发现机器突然关闭。所以我想跟踪查询发生了什么,或者换句话说,当机器停机时,查询的状态是什么 是否有一个机制来检查这一点

    1 回复  |  直到 16 年前
        1
  •  1
  •   mjv    16 年前

    根据查询的编写方式,SQL将尝试回滚任何未完成的SQL(或任何未提交的事务,如果使用了事务)。这将在服务器第一次重新启动时发生;如果您想要分析SQL事务日志(糟糕!),请复制一份。

    在进入可能在关闭时运行的查询部分之前,最好查看SQL日志(我指的是应用程序日志,带有信息消息、时间戳等,而不是给定数据库的SQL事务日志),以搜索基本事实,可能还包括错误消息,发生在停堆前的某个时间,这可能是问题的根源。还要检查Windows事件日志,因为它们可能指示可能是SQL关闭的原因或后果的异常系统范围条件。

    最后,由于脚本的各种副作用,通过分析“4天”SQL脚本,可以推断哪些部分已经完成。除此之外,此审查可能允许在必要时将数据库恢复到一致状态,或截断脚本以排除容易完成的部分,以便为完成工作的新运行做准备。

    推荐文章