TSQL记录内部事务

Arv*_*vid 17 t-sql sql-server logging transactions

我正在尝试写入事务中的日志文件,以便即使事务回滚,日志仍然存在.

- 启动代码

开始转

将[something]插入dbo.logtable

[[主要代码在这里]]

回滚

承诺

- 结束代码

您可以说只是在事务开始之前执行日志,但这并不容易,因为事务在运行此S-Proc之前启动(即代码是更大事务的一部分)

因此,简而言之,是否有办法在不属于事务的事务中编写特殊语句.我希望我的问题有道理.

Bra*_*adC 13

使用表变量(@temp)来保存日志信息.表变量在事务回滚后仍然存在.

看到这篇文章.


Rem*_*anu 8

请参阅在事务期间记录消息,以获取备用解决方案,sp_trace_generateevent该解决方案基于不需要范围@table变量(并非总是可行)或事务边界不受控制.