2017-05-19 10 views
1

데이터베이스에서 DML 문을 실행할 때마다 데이터베이스는 항상 이러한 각각의 명령문에 대한 트랜잭션 로그를 유지합니다. 예를 들어, SQL Server의 경우 database.ldf 파일을 이러한 위치에 캡처 할 때마다이 작업은 실패 할 경우 데이터베이스를 유지할 수있는 가장 좋은 방법입니다.Hibernate를 사용하여 수행 된 모든 DML 트랜잭션에 대한 데이터베이스 로그 억제

내 경우에는 NHibernate (유창함)를 사용하는 응용 프로그램에서 이러한 로그를 표시하지 않겠습니다.

내 NHibernate 객체가 내 데이터베이스에서 생성하는 트랜잭션 로그를 저장하지 않도록 할 수 있습니까?

감사합니다, 비제이

답변

1

트랜잭션 로그는 데이터베이스의 내부 구현 "세부 사항"이며, NHibernate에 그들에 대한 지식이없는 그들을 조작하거나 그들을 생성하지 않도록 DB를 말할 수 없다.

SQL 로그인이 허용하는 경우 ISession.CreateSQLQuery("some query truncating the logs").ExecuteUpdate()을 통해 데이터베이스 관리 명령을 발행 할 수 있으며, 이것이 정말로 좋은 것으로 생각되는 경우.

그러나 트랜잭션 로그를 관리하는 것은 데이터베이스 관리자의 책임이며 책임은 아닙니다. 어쩌면 당신이 그 일을하려고하는 것에 대해 또 다른 질문을하고 그것을 올바르게 해결하는 방법을 물어야합니다. 왜냐하면 여기서 해결책으로하고 싶은 것은 나에게 상당히 잘못된 것처럼 보입니다.