ESE 428(0xfffff8f0): 트랜잭션 로그 드라이브의 사용 가능한 공간 부족

[이 항목은 Exchange Server Analyzer Tool에서 발생한 특정 문제를 해결하기 위한 내용을 담고 있습니다. 이 내용은 Exchange Server Analyzer Tool을 실행했을 때 특정 문제가 발생한 시스템에만 적용해야 합니다. 무료로 다운로드할 수 있는 Exchange Server Analyzer Tool은 토폴로지의 각 서버로부터 구성 데이터를 원격으로 수집하여 자동으로 분석합니다. 분석 결과 보고서에는 중요한 구성 문제, 잠재적인 문제 및 기본값 이외의 제품 설정에 관한 내용이 자세히 나타납니다. 이러한 권장 사항에 따라 성능, 확장성, 안정성 및 작동 시간을 향상시킬 수 있습니다. 이 도구에 대한 자세한 정보를 보거나 최신 버전을 다운로드하려면 "Microsoft Exchange Analyzer"(https://technet.microsoft.com/ko-kr/exchange/bb288481.aspx)를 참조하십시오.]  

마지막으로 수정된 항목: 2007-04-02

Microsoft® Exchange Database Troubleshooter Tool이 응용 프로그램 로그에서 ESE 428 이벤트를 하나 이상 검색했습니다. 이 이벤트는 트랜잭션 로그 드라이브에서 사용 가능한 공간이 부족함을 나타냅니다. 이 오류가 발생할 경우 Exchange Server는 새 트랜잭션 로그 파일을 만들 수 없습니다. 데이터베이스의 업데이트 내용은 트랜잭션 로그에 기록되어야 하므로 이러한 오류는 해당 저장소 그룹의 모든 데이터베이스를 오프라인 상태로 만듭니다.

설명

Exchange Server는 트랜잭션 로그 드라이브의 공간 부족을 방지하기 위해 다음과 같은 두 가지 메커니즘을 제공합니다.

  • 순환 로깅. 검사점을 지나면 트랜잭션 로그는 자동으로 삭제됩니다. 대부분의 경우 트랜잭션 로그 파일에 사용되는 디스크 공간은 50MB 이하로 유지됩니다. 백업 중에는 백업이 완료될 때까지 트랜잭션 로그 제거가 일시적으로 중단됩니다.

    참고

    기본적으로 순환 로깅 메커니즘은 Microsoft Exchange 2000 Server 이상 버전에서 사용되지 않습니다.

  • 저장소 그룹 백업. Exchange Server는 VSS(볼륨 섀도 복사본 서비스) 또는 Exchange Server의 스트리밍 온라인 백업 API를 구현하는 백업 방식을 사용하여 저장소 그룹의 모든 데이터베이스에 대한 전체 또는 증분 온라인 백업을 수행한 다음 초과 로그를 제거합니다.

순환 로깅을 사용하지 않은 상태에서 다음 중 하나에 해당하는 경우, 하드 디스크 드라이브 공간을 모두 사용할 때까지 트랜잭션 로그 파일의 수가 증가합니다.

  • 백업 프로그램이 트랜잭션 로그 파일을 제거하지 않습니다.
  • 백업 프로그램이 실행을 중지했습니다.
  • 다른 방법을 사용하여 트랜잭션 로그 파일을 지울 수 없습니다.

남아 있는 하드 디스크 공간이 없을 때, 트랜잭션 로그 파일을 수동으로 제거해야만 하는 경우도 있습니다. 또는 하드 디스크 공간이 가득 찰 것으로 예상하는 경우 트랜잭션 로그 파일을 먼저 수동으로 제거한 후 특정 저장소 그룹의 모든 데이터베이스를 전체 또는 증분 온라인 백업할 수 있습니다. 데이터베이스 검사점을 지나지 않은 로그를 제거하면 해당 데이터베이스는 비정상적으로 중지되며 필요한 로그가 복원될 때까지 데이터베이스를 탑재할 수 없습니다. 따라서 Exchange Server 트랜잭션 로그 파일을 수동으로 삭제하기 전에 안전하게 제거할 수 있는 로그를 확인해야 합니다.

오류는 JET_errDiskFull 또는 오류 코드 0xfffff8f0으로 보고되기도 합니다. 이 오류는 다음 버전의 Exchange Server에 적용됩니다.

  • Microsoft Exchange Server 2007
  • Microsoft Exchange Server 2003
  • Microsoft Exchange 2000 Server

사용자 작업

오류 해결 방법은 다음과 같습니다.

  • 데이터베이스 복구 관리 도구를 실행합니다. Microsoft Exchange Server 2007에서 이 도구는 Exchange 관리 콘솔에 있는 도구 상자데이터베이스 복구 도구 아래에 나열되어 있습니다. Exchange Server Analyzer는 안전하게 제거할 수 있는 로그 파일을 자동으로 확인하여 사용자의 백업 위치에 복사합니다. Exchange Server Analyzer를 사용하여 로그 파일을 이동하는 것이 좋습니다.

    참고

    데이터베이스가 있는 저장소 그룹을 CCR(Cluster Continuous Replication)에 사용하는 경우 Exchange Server Analyzer는 Exchange 2007에서 작동하지 않습니다.

  • 각 데이터베이스 헤더의 상태필수 로그 값을 점검하여 안전하게 수동으로 제거할 수 있는 트랜잭션 로그 파일을 확인합니다.

    참고

    트랜잭션 로그 파일의 제거는 해당 트랜잭션 로그 파일을 백업, 저장 또는 삭제할 수 있는 다른 위치로 이동하는 것을 의미합니다. 작업은 사용자의 요구 사항에 따라 결정됩니다. 트랜잭션 로그 파일의 삭제는 해당 트랜잭션 로그 파일을 백업 또는 복원할 수 없도록 제거하는 것을 의미합니다.

수동으로 안전하게 제거할 수 있는 트랜잭션 로그 파일을 확인하려면 이러한 상세 단계를 따릅니다.

데이터베이스 헤더를 검사하여 불필요한 로그 파일을 제거하려면 다음을 수행하십시오.

  1. 헤더를 검사할 데이터베이스를 분리합니다.

  2. 시작실행을 차례로 클릭한 다음, cmd를 입력하여 명령 프롬프트 창을 엽니다.

  3. 명령 프롬프트에서 데이터베이스 파일이 있는 디렉터리 경로로 이동합니다.

    참고

    Exchange 2000 Server 및 Exchange Server 2003에서 .edb 및 .stm 데이터베이스 파일의 경로와 이름을 확인하려면 Exchange System Manager를 사용하여 각 데이터베이스 개체의 속성 대화 상자의 데이터베이스 탭을 확인합니다. Exchange Server 2007에서 데이터베이스 파일의 경로와 이름을 확인하려면 서버 구성의 Exchange 관리 콘솔을 확장하여 사서함을 클릭한 다음 데이터베이스 관리 탭을 확인합니다.

  4. 명령 프롬프트에서 다음 Eseutil 명령을 /MH 스위치와 함께 입력합니다.

    "eseutil /MH databasefilename.edb"
    

    참고

    이 구문에서 databasefilename은 검사할 데이터베이스의 이름입니다.

  5. 표시된 헤더 정보 중 상태필수 로그 값을 검사합니다.

    상태 값은 다음과 같이 해당 데이터베이스가 올바르게 분리되었는지에 대한 정보를 제공합니다.

    • 데이터베이스가 올바르게 분리된 경우, 상태 값은 완전한 종료 또는 일치입니다. 이 값은 실행 중인 Exchange Server의 버전에 따라 정해집니다. 현재 트랜잭션 로그 파일을 제외한 모든 트랜잭션 로그 파일을 제거할 수 있습니다.

      참고

      모든 데이터베이스가 완전한 종료 상태일 때 현재 로그 파일을 제거하면 로그 파일 순서가 다시 설정됩니다. 이 작업은 데이터베이스를 시작하는 데 문제가 되지는 않습니다. 그러나 로그 파일 순서가 다시 설정되므로 이전 백업에서 데이터베이스를 롤포워드하는 기능에는 영향을 미칩니다.

    • 데이터베이스가 잘못 분리된 경우, 상태 값은 부적절한 종료 또는 불일치입니다. 데이터베이스 헤더의 필수 로그 필드를 확인하여 제거할 수 있는 트랜잭션 로그 파일을 결정합니다.

      참고

      데이터베이스의 상태가 부적절한 종료 또는 불일치라는 것은 기존의 트랜잭션 로그 파일 중 일부에 데이터베이스에서 필요한 미처리 트랜잭션이 포함되어 있음을 의미합니다. 이러한 경우에 트랜잭션 로그 파일을 제거하면 백업에서 데이터베이스를 복원하지 않는 한 해당 데이터베이스를 다시 시작할 수 없습니다. 또는 Eseutil 명령과 Isinteg 명령을 사용하여 데이터베이스를 복구할 수도 있습니다.

      저장소 그룹의 각 데이터베이스의 필수 로그 값을 해당 저장소 그룹의 로그를 제거하기 전에 검사해야 합니다. 필수 로그 필드에는 해당 데이터베이스를 시작하는 데 필요한 로그 파일이 숫자 범위로 나열되어 있습니다. 범위가 0 - 0이면 데이터베이스를 시작하는 데 필요한 로그 파일이 없습니다. 이는 해당 데이터베이스가 완전한 종료 또는 일치 상태임을 나타냅니다. 검사점 로그 이전의 로그 파일이 있으면 검사점 로그를 제외한 모든 로그 파일을 제거할 수 있습니다. Exchange Server 2003 서비스 팩 1(SP1) 이전 버전의 Exchange Server를 실행하고 있다면 필수 로그 필드에 표시된 10진수 범위를 16진수 값으로 변환해야 합니다. 예를 들어 필수 로그 값이 28217 - 28221이면 06E39 - 06E3D 범위의 로그 파일이 데이터베이스에 필요합니다. Exchange 2003 SP1에서는 필수 로그 필드에 10진수와 16진수 값이 모두 표시되도록 향상되었습니다.

      참고

      Windows 계산기의 공학용 모드를 사용하면 10진수를 16진수로 변환할 수 있습니다. 계산기를 시작한 다음 보기 메뉴에서 공학용 모드를 클릭합니다. 10진수를 입력한 다음 Hex를 클릭합니다.

      Exchange 2000과 Exchange 2003에서는 저장소 그룹을 4개까지 가질 수 있으며 각 저장소 그룹마다 특정 로그 파일 집합이 포함되므로 트랜잭션 로그 파일 이름에 Edb 접두사가 붙지 않습니다. Exchange 2000과 Exchange 2003에서 Edb 접두사는 E00, E01, E02 또는 E03으로 대체됩니다. 복구 저장소 그룹의 경우, Edb 접두사가 R00으로 대체됩니다. 저장소 그룹 로그 파일 접두사는 Exchange System Manager에서 특정 저장소 그룹 개체의 속성 대화 상자에 있는 일반 탭에 표시됩니다. 따라서 저장소 그룹 접두사가 E01이고 필수 로그 항목이 28217 - 28221(0x06E39 - 0x06E3D)인 경우, 실제로 필요한 로그는 E0106E39.log부터 E0106E3D.log까지입니다.
  6. 저장소 그룹에 있는 데이터베이스의 필수 로그 필드 내에 있는 가장 낮은 항목보다 번호가 작은 로그 파일은 모두 제거해도 됩니다.

    참고

    이는 로그 파일을 삭제하는 것이 아닌 이동을 의미합니다.

    참고

    가장 최근의 트랜잭션 로그 파일은 제거하지 않는 것이 가장 좋습니다. 이러한 로그 파일은 가장 최근의 타임스탬프를 가지고 있으며 파일 이름에 시퀀스 번호가 아직 없습니다. 안전하게 제거할 수 있는 파일로 확인된 경우라도 로그 파일 시퀀스가 다시 0으로 설정되지 않도록 합니다. 로그 파일 시퀀스를 다시 설정하면 백업 주기에 영향을 미칩니다. 다시 설정하기 이전에 수행된 백업으로부터 데이터베이스를 롤포워드하는 것이 불가능할 수도 있습니다.