sql-server-2005 - 具有日志记录和错误处理的SQL Server 2005存储过程

标签 sql-server-2005 stored-procedures transactions error-handling

我有一个(SQL 2005)存储过程,该过程处理一个巨型表并对过去(直到一年前)的旧数据进行分组。它具有以下主要步骤:

  • 将旧数据复制到新表中
  • 将最新数据照原样复制到新表
  • 重命名表

  • 现在,我想在记录表中记录每个运行和每个步骤。但是,我从一开始就开始事务,以便在出现问题时可以回滚整个批次。但这也会使我的日志记录回滚,这不是我想要的。

    我该如何解决?

    最佳答案

    记录到表变量,因为它不会随事务回滚,然后在提交或回滚后的过程结束时,将表变量的内容插入到永久日志表中。

    关于sql-server-2005 - 具有日志记录和错误处理的SQL Server 2005存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8927037/

    相关文章:

    sql-server - 为什么我的 SqlDependency 没有触发

    sql-server-2005 - SQL Server 数据库不可见

    sql - SQL Server 2005 中的数据聚合

    sql-server - SSRS : 2005, CSS 未应用于第一列

    Mysql分步向导失败

    java - 如何从在 Spring 上下文中配置的 EntityManager 获取连接?

    Hibernate 3.5 与 4 IDENTITY_INSERT 问题

    mysql - 为什么我不能在存储过程中使用变量作为表名?

    java - 在过程内动态添加的表上创建触发器

    objective-c - 如何使用 sqlite 在 Xcode 中开始、回滚、提交事务