트랜잭션이 롤백 되더라도 일부 테이블의 로그 데이터를 유지해야합니다. 이미 SQL 서버에이 불가능하다는 것을 알게SQL Server 2005에서 자율 트랜잭션을 에뮬레이트하는 경우
이
begin tran t1
insert ...
insert ...
select ...
begin tran t2
insert into log
commit tran t2
rollback tran t1
select * from log -- IS EMPTY ALWAYS
그래서 시도 같은 데이터가 로컬 서버 디스크에 LOG에 필요한 수출하는 것입니다 내가 CLR을 madded SQL 서버를 해킹 할 XML 형식.
File.WriteAllText(fileName, xmlLog.Value.ToString());
나는이 기술에 대해 toughs을 듣고 아픈 사랑 생산 기지에서 이것을 해제하기 전에 :이 될 수있는 CLR 코드는 간단하다.
- 가 SQL 서버에 기록 된 데이터의 2005 SQL Server가 CLR을 실행하는 동안 커밋되지 않은 내 거래를 잡고 나쁜 할 수있는 방법을
- (양을 자율 트랜잭션을 수행하는 다른 더 좋은 방법이 있나요 :
여기에 몇 가지 질문 있습니다 SQL에 의해 상대적으로 작은 - 3 정수 및 4 플로트의 약 50 - 60 레코드
이 기사를 이미 읽었습니까? http://blogs.msdn.com/b/sqlprogrammability/archive/2008/08/22/how-to-create-an-autonomous-transaction-in-sql-server-2008.aspx –
@Martin 부분적으로 내가 그랬다. 하지만 기술은 MSSQL 2008에서만 가능하다고 생각합니다. 2005 년에도 내 생산은 여전히 진행 중입니다. – adopilot
저자 하단에 3 가지 대안이 있습니다. –