Database/MS-SQL

logical log(논리로그) ≠ VLF(가상로그파일) ≠ 로그레코드(log record) ≠ 트랜잭션

99iberty 2017. 11. 23. 14:53


트랜잭션로그 아키텍처를 공부하면서 헷갈렸던 개념을 정리해 보고자 한다.



  1. 논리 로그 (logical log)

https://technet.microsoft.com/ko-kr/library/ms180892(v=sql.105).aspx


    • 각 로그 레코드는 LSN (Log Sequence Num)으로 식별됨
    • 각 새 로그레코드는 LSN과 함께 로그의 논리적 끝에 작성
    • 로그레코드는 작성된 순서대로 저장됨
    • 각 로그레코드에는 자신이 속한 TRN(트랜잭션)의 ID가 포함됨.

  (즉! 로그 레코드 하나당 하나의 트랜잭션이 아님. 트랜잭션이 여러 로그 레코드들로 이루어져 있음.)

    • 각 트랜잭션의 모든 로그레코드는 후방 포인터로 체인에 개별적으로 연결되어 있음.