Share via


큐 데이터베이스 관리

 

적용 대상: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

마지막으로 수정된 항목: 2008-03-11

는 다음 처리 단계를 기다리는 메시지를 임시로 보관하는 위치입니다. 각각의 큐는 전송 서버가 특정 순서로 처리할 논리적 메시지 집합을 나타냅니다. 큐는 Hub 전송 서버 역할이나 Edge 전송 서버 역할이 설치된 서버에만 있습니다.

Microsoft Exchange Server 2007은 큐 메시지 저장소로 ESE(Extensible Storage Engine) 데이터베이스를 사용합니다. 이전에 JET라고 했던 ESE는 Exchange Server의 기본 데이터베이스 구조에 대해 낮은 수준의 API를 정의하는 메서드입니다.

큐의 개요

표 1에서는 Hub 전송 서버 또는 Edge 전송 서버에 있는 큐와 해당 특성을 보여 줍니다.

표 1 Hub 전송 서버 또는 Edge 전송 서버에 있는 큐

큐 이름 서버 역할 서버의 큐 수

사서함 배달 큐

Hub 전송

모든 고유한 대상 사서함 서버에 대해 하나의 큐

포이즌 메시지 큐

Edge 전송

Hub 전송

1

원격 배달 큐

Edge 전송

Hub 전송

Edge 전송: 모든 고유한 대상 SMTP(Simple Mail Transfer Protocol) 도메인 또는 스마트 호스트에 대해 하나의 큐

Hub 전송: 모든 고유한 원격 Active Directory 디렉터리 서비스 사이트에 대해 하나의 큐

전송 큐

Edge 전송

Hub 전송

1

연결할 수 없는 큐

Edge 전송

Hub 전송

1

큐 데이터베이스 파일의 개요

모든 다른 큐는 단일 ESE 데이터베이스에 저장됩니다. 기본적으로 이 큐 데이터베이스는 C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue에 있습니다.

ESE 데이터베이스와 마찬가지로 큐 데이터베이스는 로그 파일을 사용하여 데이터를 수락, 추적 및 유지 관리합니다. 성능을 향상시키기 위해 모든 메시지 트랜잭션이 먼저 로그 파일과 메모리에 기록된 후 데이터베이스 파일에 기록됩니다. 검사점 파일은 데이터베이스에 커밋된 트랜잭션 로그 항목을 추적합니다. Microsoft Exchange 전송 서비스의 일상적인 종료 중에 트랜잭션 로그에서 발견된 커밋되지 않은 데이터베이스 변경 사항은 항상 데이터베이스에 커밋됩니다.

큐 데이터베이스에는 순환 로깅이 사용됩니다. 즉, 트랜잭션 로그에서 발견된 커밋된 트랜잭션의 기록은 유지 관리되지 않습니다. 현재 검사점보다 오래된 트랜잭션 로그는 즉시 자동으로 삭제됩니다. 따라서 큐 데이터베이스 복구를 위해 백업에서 트랜잭션 로그를 재생할 수 없습니다.

표 2에서는 큐 데이터베이스를 구성하는 파일을 보여 줍니다.

표 2 큐 데이터베이스를 구성하는 파일

파일 설명

Mail.que

이 큐 데이터베이스 파일은 대기 중인 모든 메시지를 저장합니다.

Tmp.edb

이 임시 데이터베이스 파일은 시작 시에 큐 데이터베이스 스키마를 확인하는 데 사용됩니다.

Trn*.log

이 트랜잭션 로그는 큐 데이터베이스에 대한 모든 변경 내용을 기록합니다. 데이터베이스의 모든 변경 내용은 먼저 트랜잭션 로그에 기록된 후 데이터베이스에 커밋됩니다. Trn.log는 현재 활성 트랜잭션 로그 파일입니다. Trntmp.log는 다음에 제공되는 미리 만들어진 트랜잭션 로그 파일입니다. 기존 Trn.log 트랜잭션 로그 파일은 최대 크기에 도달하면 Trn.log가 Trnnnnn.log로 이름이 바뀝니다. 여기서 nnnn은 시퀀스 번호입니다. 그런 다음 Trntmp.log는 Trn.log로 이름이 바뀌어 현재의 활성 트랜잭션 로그 파일이 됩니다.

Trn.chk

이 검사점 파일은 데이터베이스에 커밋된 트랜잭션 로그 항목을 추적합니다. 이 파일은 항상 mail.que 파일과 같은 위치에 있습니다.

Trnres00001.jrs

Trnres00002.jrs

이러한 예약 트랜잭션 로그 파일은 자리 표시자의 역할을 하며 트랜잭션 로그가 포함된 하드 디스크 드라이브에 공간이 부족하여 큐 데이터베이스가 완전히 중지될 때만 사용됩니다.

큐 데이터베이스 구성 옵션

큐 데이터베이스는 Exchange 관리 콘솔이나 Exchange 관리 셸을 사용하여 구성할 수 없으며 C:\Program Files\Microsoft\Exchange Server\Bin에 있는 EdgeTransport.exe.config 파일을 수정하여 구성해야 합니다. EdgeTransport.exe.config 파일은 EdgeTransport.exe 파일과 관련된 XML 응용 프로그램 구성 파일입니다. EdgeTransport.exe 및 MSExchangeTransport.exe는 Microsoft Exchange 전송 서비스에 사용되는 실행 파일입니다. 이 서비스는 모든 Hub 전송 서버 또는 Edge 전송 서버에서 실행됩니다. EdgeTransport.exe.config 파일의 변경 내용은 Microsoft Exchange 전송 서비스를 다시 시작해야만 적용됩니다.

다음은 EdgeTransport.exe.config 파일 구조의 기본 예입니다.

<configuration>

<runtime>

<gcServer enabled="true" />

</runtime>

<appSettings>

<add key=" ConfigurationOption " value=" " />

...

</appSettings>

</configuration>

<appSettings> 섹션에서 새 구성 옵션을 추가하거나 기존 구성 옵션을 수정할 수 있습니다. 큐 데이터베이스와 전혀 관련이 없는 다양한 구성 옵션도 사용할 수 있습니다. 그러나 이 항목에서는 이러한 구성 옵션을 다루지 않습니다.

참고

<add key=../> 섹션의 매개 변수 이름은 대/소문자를 구분합니다.

표 3에서는 EdgeTransport.exe.config 파일에서 사용할 수 있는 큐 데이터베이스에 대한 구성 옵션을 보여 줍니다.

표 3 EdgeTransport.exe.config 파일에서 사용할 수 있는 메시지 큐 데이터베이스 구성 옵션

매개 변수 이름 설명

QueueDatabaseBatchSize

이 매개 변수는 작업을 실행하기 전에 함께 그룹화될 수 있는 데이터베이스 I/O 작업의 수를 지정합니다. 기본값은 40입니다. 받는 각 메시지에 대해 메시지 I/O 비용은 메시지 받는 사람 수와 메시지 크기를 기준으로 산출됩니다. 메시지의 I/O 비용이 QueueDatabaseBatchSize 매개 변수에 지정한 값을 초과하는 경우 해당 메시지는 큐 데이터베이스로 즉시 커밋됩니다. 그렇지 않으면 메시지는 다른 받은 메시지와 결합되고 이러한 메시지가 함께 큐 데이터베이스로 커밋됩니다.

경고

Microsoft 고객 지원 서비스 담당자가 지시하는 경우가 아니면 이 매개 변수를 수정하지 마십시오.

QueueDatabaseBatchTimeout

이 매개 변수는 데이터베이스가 여러 데이터베이스 I/O 작업을 실행하기 전에 그룹화될 때까지 기다리는 최대 시간(밀리초)을 지정합니다. 데이터베이스 I/O 작업은 다음 조건을 만족할 때 더 이상 대기하지 않고 실행됩니다.

  • QueueDatabaseBatchSize 매개 변수로 지정된 데이터베이스 I/O 작업 수에 도달하지 않은 경우

  • QueueDatabaseBatchTimeout 매개 변수로 지정된 시간이 경과한 경우

기본값은 100입니다.

QueueDatabaseMaxConnections

이 매개 변수는 열 수 있는 ESE 데이터베이스 연결 수를 지정합니다. 기본값은 4입니다.

QueueDatabaseLoggingBufferSize

이 매개 변수는 트랜잭션 레코드가 트랜잭션 로그 파일에 기록되기 전에 캐시하는 데 사용되는 메모리를 지정합니다. 기본값은 524288바이트입니다.

QueueDatabaseLoggingFileSize

이 매개 변수는 트랜잭션 로그 파일의 최대 크기를 지정합니다. 최대 로그 파일 크기에 도달하면 새 로그 파일이 열립니다. 기본값은 5242880바이트입니다.

QueueDatabaseLoggingPath

이 매개 변수는 큐 데이터베이스 로그 파일의 기본 디렉터리를 지정합니다. 기본값은 C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue입니다. 큐 데이터베이스 로깅 디렉터리를 변경하기 전에 새 디렉터리가 존재하는지 확인하고 새 디렉터리에 다음 파일 사용 권한이 적용되는지 확인하십시오. 네트워크 서비스: 모든 권한, 시스템: 모든 권한, 관리자: 모든 권한

QueueDatabaseMaxBackgroundCleanupTasks

이 매개 변수는 언제든지 데이터베이스 엔진 스레드 풀에 대기될 수 있는 백그라운드 정리 작업 항목의 최대 수를 지정합니다. 기본값은 32입니다.

QueueDatabaseOnlineDefragEnabled

이 매개 변수는 메일 큐 데이터베이스의 예약된 온라인 조각 모음을 사용하도록 설정하거나 사용하지 않도록 설정합니다. 기본값은 $true입니다.

QueueDatabaseOnlineDefragSchedule

이 매개 변수는 메일 큐 데이터베이스의 온라인 조각 모음을 시작하는 시간을 24시간 형식으로 지정합니다. 값을 지정하려면 해당 값을 기간, 즉 hh:mm:ss로 입력합니다. 여기서 h = 시간, m = 분, s = 초를 나타냅니다. 기본값은 1:00:00 또는 1:00 AM입니다.

QueueDatabaseOnlineDefragTimeToRun

이 매개 변수는 온라인 조각 모음 작업의 실행이 허용되는 시간을 지정합니다. 조각 모음 작업이 지정된 시간 안에 완료되지 않아도 큐 데이터베이스는 일관성 있는 상태를 유지합니다. 값을 지정하려면 해당 값을 기간, 즉 hh:mm:ss로 입력합니다. 여기서 h = 시간, m = 분, s = 초를 나타냅니다. 기본값은 3:00:00입니다.

QueueDatabasePath

이 매개 변수는 큐 데이터베이스 파일의 기본 디렉터리를 지정합니다. 기본값은 C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue입니다. 큐 데이터베이스 디렉터리를 변경하기 전에 새 디렉터리가 존재하는지 확인하고 새 디렉터리에 다음 파일 사용 권한이 적용되는지 확인하십시오. 네트워크 서비스: 모든 권한, 시스템: 모든 권한, 관리자: 모든 권한

자세한 내용

큐에 대한 자세한 내용은 큐 관리를 참조하십시오.

큐 데이터베이스 위치를 변경하는 방법에 대한 자세한 내용은 큐 데이터베이스의 위치를 변경하는 방법을 참조하십시오.