1
我需要将一些日志数据保留在不同的表中,即使我的事务回滚了。在模拟自治事务的SQL Server 2005中
我已经了解到,在SQL Server中这是不可能做这样的事情
begin tran t1
insert ...
insert ...
select ...
begin tran t2
insert into log
commit tran t2
rollback tran t1
select * from log -- IS EMPTY ALWAYS
所以我尝试黑客 SQL服务器,我madded CLR这是要导出数据需要记录到本地服务器硬盘以XML格式。 CLR代码很简单,因为它可以:
File.WriteAllText(fileName, xmlLog.Value.ToString());
我发布这个在生产基地生病喜欢听到这种技术的恶棍之前。
这里有几个问题:
- 是否有其他更好的办法在SQL Server中实现自治事务2005
- 怎么能坏的握着我的事务的未提交而SQL Server正在执行CLR(写入的数据量通过SQL是相对较小的约50 - 60纪录的3个整数和4个浮点)
您是否已阅读此文章? http://blogs.msdn.com/b/sqlprogrammability/archive/2008/08/22/how-to-create-an-autonomous-transaction-in-sql-server-2008.aspx – 2011-01-19 16:30:35