Share via


큐 데이터베이스의 위치를 변경하는 방법

 

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

마지막으로 수정된 항목: 2009-01-27

는 다음 처리 단계를 기다리는 메시지의 임시 보관 위치입니다. 각각의 큐는 전송 서버가 특정 순서로 처리하는 메시지의 논리적 집합을 나타냅니다.

Microsoft Exchange Server 2007에서는 큐 메시지 저장소로 ESE(Extensible Storage Engine) 데이터베이스를 사용합니다. ESE(이전의 JET)는 Exchange Server의 기본 데이터베이스 구조에 대해 하위 수준의 API를 정의하는 방법입니다. 여러 큐가 모두 단일 ESE 데이터베이스에 저장됩니다. 큐는 Hub 전송 서버 역할이나 Edge 전송 서버 역할이 설치되어 있는 서버에만 있습니다.

시작하기 전에

다음 절차를 수행하려면 사용하는 계정이 다음을 위임받아야 합니다.

  • Exchange Server 관리자 역할 및 대상 서버의 로컬 관리자 그룹

Edge 전송 서버 역할이 설치된 컴퓨터에서 다음 절차를 수행하려면 해당 컴퓨터의 로컬 관리자 그룹의 구성원인 계정을 사용하여 로그온해야 합니다.

사용 권한, 역할 위임 및 Microsoft Exchange Server 2007 관리에 필요한 권한에 대한 자세한 내용은 사용 권한 고려 사항을 참조하십시오.

큐 데이터베이스의 위치 변경

큐 데이터베이스의 위치는 C:\Program Files\Microsoft\Exchange Server\Bin 디렉터리에 있는 EdgeTransport.exe.config 응용 프로그램 구성 파일의 QueueDatabasePath 매개 변수를 통해 제어합니다. 다음의 두 가지 방법을 사용하여 큐 데이터베이스의 위치를 변경할 수 있습니다.

  • Move-TransportDatabase.ps1 스크립트 사용

    Exchange 2007 SP1(서비스 팩 1)에는 전송 데이터베이스 파일 및 트랜잭션 로그 파일의 위치를 변경하는 데 사용할 수 있는 새로운 스크립트가 포함되어 있습니다. 이 스크립트를 사용하여 데이터베이스 파일을 지정한 새 위치로 이동할 수도 있습니다. Move-TransportDatabase.ps1 스크립트를 사용하여 데이터베이스 파일을 이동할 때는 다음과 같은 주요 항목을 고려해야 합니다.

    • 대상 드라이브가 원본 드라이브와 다르면 대상 드라이브에 사용 가능한 공간이 충분해야 합니다. 이 스크립트를 사용하려면 기존 데이터베이스 파일이나 트랜잭션 로그 파일을 이동하는 데 필요한 공간에 2GB가 더 필요합니다.

    • QueueDatabasePath 매개 변수의 값은 IPFilterDatabasePath 매개 변수의 값과 같을 수 없습니다.

    • QueueDatabaseLoggingPath 매개 변수의 값은 IPFilterDatabaseLoggingPath 매개 변수의 값과 같을 수 없습니다.

    • 대상 경로가 없는 경우 스크립트가 해당 경로를 자동으로 만듭니다.

    • 기존 EdgeTransport.exe.config 파일은 EdgeTransport.exe.config.yyyyMMddHHmmss.old로 자동으로 저장됩니다.

  • 수동으로 데이터베이스 파일 이동

    Move-TransportDatabase.ps1 스크립트를 사용하여 전송 데이터베이스 파일을 이동하는 것이 좋지만, 수동으로도 데이터베이스 파일을 이동할 수 있습니다. 아래 목록에서는 큐 데이터베이스의 위치를 변경할 때 고려해야 할 몇 가지 중요한 항목에 대해 설명합니다.

    • 대상 디렉터리가 없는 경우 상위 디렉터리에 다음과 같은 사용 권한이 적용되어 있으면 대상 디렉터리가 자동으로 생성됩니다.

      네트워크 서비스: 모든 권한

      시스템: 모든 권한

      관리자: 모든 권한

    • 기존 큐 데이터베이스 파일인 Mail.que와 Trn.chk는 이동되지 않습니다. EdgeTransport.exe.config 응용 프로그램 구성 파일을 저장하고 Microsoft Exchange 전송 서비스를 다시 시작하면 새 위치에 새 큐 데이터베이스 파일이 생성됩니다. 기존 데이터베이스 파일은 이전 위치에 남아 있지만 더 이상 사용되지 않습니다.

    • 큐 데이터베이스의 위치를 변경하고 기존 큐 데이터베이스 파일을 다시 사용하려면 Microsoft Exchange 전송 서비스를 중지했을 때 데이터베이스 파일을 이동하거나 복사해야 합니다.

큐 데이터베이스를 새 위치로 이동

Move-TransportDatabase.ps1 스크립트를 사용하여 큐 데이터베이스를 새 위치로 이동

  1. Exchange 관리 셸을 시작합니다.

  2. 셸 프롬프트에서 다음 명령을 실행합니다. <destination path>를 E:\Exchange\Transport\Queue와 같은 해당 경로로 바꿉니다.

    Move-TransportDatabase.ps1 -QueueDatabasePath: <destination path> 
    

새 위치에 수동으로 새 큐 데이터베이스 만들기

새 위치에 새 큐 데이터베이스를 만들려면 다음을 수행합니다.

  1. 메모장을 사용하여

    C:\Program Files\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config 파일을 엽니다.

  2. <appSettings> 섹션의 다음 줄을 수정합니다.

    <add key="QueueDatabasePath" value="<LocalPath>" />
    

    예를 들어 "C:\Queue\QueueDB" 위치에 전송 로그를 저장할 새 위치를 만들려면 QueueDatabasePath 매개 변수를 다음과 같이 수정합니다.

    <add key="QueueDatabasePath" value="C:\Queue\QueueDB" />
    
  3. EdgeTransport.exe.config 파일을 저장하고 닫습니다.

  4. Microsoft Exchange 전송 서비스를 다시 시작합니다.

  5. 새 위치에 새 Mail.que 및 Trn.chk 파일이 생성되었는지 확인합니다.

  6. 원래 위치에서 사용하지 않는 Mail.que 및 Trn.chk 파일을 제거합니다.

새 위치에서 수동으로 기존 큐 데이터베이스 다시 사용

새 위치에서 기존 큐 데이터베이스를 다시 사용하려면 다음을 수행합니다.

  1. 큐 데이터베이스를 저장할 디렉터리를 만듭니다. 디렉터리에 올바른 사용 권한을 적용합니다.

  2. 메모장을 사용하여 C:\Program Files\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config 파일을 엽니다.

  3. <appSettings> 섹션의 다음 줄을 수정합니다.

    <add key="QueueDatabasePath" value="<LocalPath>" />
    

    예를 들어 위치를 "C:\Queue\QueueDB"로 변경하려면 QueueDatabasePath 매개 변수를 다음과 같이 수정합니다.

    <add key="QueueDatabasePath" value="C:\Queue\QueueDB" />
    
  4. EdgeTransport.exe.config 파일을 저장하고 닫습니다.

  5. Microsoft Exchange 전송 서비스를 중지합니다.

  6. Mail.que와 Trn.chk 파일을 원래 위치에서 새 위치로 복사합니다.

  7. Microsoft Exchange 전송 서비스를 시작합니다.

  8. 원래 위치에서 사용하지 않는 Mail.que 및 Trn.chk 파일을 제거합니다.

큐 데이터베이스 트랜잭션 로그의 위치 변경

큐 데이터베이스 트랜잭션 로그의 위치는 EdgeTransport.exe.config 응용 프로그램 구성 파일의 QueueDatabaseLoggingPath 매개 변수를 통해 제어합니다. 다음의 두 가지 방법을 사용하여 전송 로그 파일의 위치를 변경할 수 있습니다.

  • Move-TransportDatabase.ps1 스크립트 사용

    Exchange 2007 SP1(서비스 팩 1)에는 전송 데이터베이스 파일 및 트랜잭션 로그 파일의 위치를 변경하는 데 사용할 수 있는 새로운 스크립트가 포함되어 있습니다. 이 스크립트를 사용하여 전송 로그 파일을 지정한 새 위치로 이동할 수도 있습니다. 다음 목록에서는 Move-TransportDatabase.ps1 스크립트를 사용하여 데이터베이스 파일을 이동할 때 고려해야 할 몇 가지 중요 항목에 대해 설명합니다.

    • 대상 드라이브가 원본 드라이브와 다르면 대상 드라이브에 사용 가능한 공간이 충분해야 합니다. 이 스크립트를 사용하려면 기존 데이터베이스 파일이나 트랜잭션 로그 파일을 이동하는 데 필요한 공간에 2GB가 더 필요합니다.

    • QueueDatabasePath 매개 변수의 값은 IPFilterDatabasePath 매개 변수의 값과 같을 수 없습니다.

    • QueueDatabaseLoggingPath 매개 변수의 값은 IPFilterDatabaseLoggingPath 매개 변수의 값과 같을 수 없습니다.

    • 대상 경로가 없는 경우 스크립트가 해당 경로를 자동으로 만듭니다.

    • 기존 EdgeTransport.exe.config 파일은 EdgeTransport.exe.config.yyyyMMddHHmmss.old로 자동으로 저장됩니다.

  • 수동으로 데이터베이스 파일 이동

    Move-TransportDatabase.ps1 스크립트를 사용하여 전송 트랜잭션 로그 파일을 이동하는 것이 좋지만, 수동으로도 파일을 이동할 수 있습니다.

    아래 목록에서는 큐 데이터베이스 트랜잭션 로그의 위치를 변경하는 방법에 대한 몇 가지 중요한 사항을 설명합니다.

    • 대상 디렉터리가 없는 경우 상위 디렉터리에 다음과 같은 사용 권한이 적용되어 있으면 대상 디렉터리가 자동으로 생성됩니다.

      네트워크 서비스: 모든 권한

      시스템: 모든 권한

      관리자: 모든 권한

    • 기존 큐 데이터베이스 트랜잭션 로그 파일인 Trn.log, Trntmp.log, Trnnnn.log, Trnres00001.jrs, Trnres00002.jrs 및 Temp.edb는 이동되지 않습니다. EdgeTransport.exe.config 응용 프로그램 구성 파일을 저장하고 Microsoft Exchange 전송 서비스를 다시 시작하면 새 위치에 새 큐 데이터베이스 트랜잭션 로그가 생성됩니다. 기존 트랜잭션 로그 파일은 이전 위치에 남아 있지만 더 이상 사용되지 않습니다.

    참고

    Temp.edb는 Microsoft Exchange 전송 서비스가 시작될 때 큐 데이터베이스 스키마를 확인하는 데 사용됩니다. Temp.edb는 트랜잭션 로그 파일이 아니지만 트랜잭션 로그 파일과 같은 위치에 저장됩니다.

새 위치로 트랜잭션 로그 파일 이동

Move-TransportDatabase.ps1 스크립트를 사용하여 트랜잭션 로그 파일을 새 위치로 이동

  1. Exchange 관리 셸을 시작합니다.

  2. 셸 프롬프트에서 다음 명령을 실행합니다. <destination path>를 E:\Exchange\Transport\Queue와 같은 해당 경로로 바꿉니다.

    Move-TransportDatabase.ps1 -QueueDatabaseLoggingPath: <destination path>
    

새 위치에 수동으로 새 큐 트랜잭션 로그 만들기

새 위치에 새 큐 데이터베이스 트랜잭션 로그 만들기

  1. 메모장을 사용하여

    C:\Program Files\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config 파일을 엽니다.

  2. <appSettings> 섹션의 다음 줄을 수정합니다.

    <add key="QueueDatabaseLoggingPath" value="<LocalPath>" />
    

    예를 들어 "C:\Queue\QueueLogs" 위치에 새 큐 데이터베이스를 만들려면 QueueDatabaseLoggingPath 매개 변수를 다음과 같이 수정합니다.

    <add key="QueueDatabaseLoggingPath" value="C:\Queue\QueueLogs" />
    
  3. EdgeTransport.exe.config 파일을 저장하고 닫습니다.

  4. Microsoft Exchange 전송 서비스를 다시 시작합니다.

  5. 새 위치에 새 Trn.log, Trntmp.log, Trnres00001.jrs, Trnres00002.jrs 및 Temp.edb 파일이 생성되었는지 확인합니다.

  6. 원래 위치에서 사용하지 않는 Trn.log, Trntmp.log, Trnnnn.log, Trnres00001.jrs, Trnres00002.jrs 및 Temp.edb 파일을 제거합니다.

새 위치에서 수동으로 기존 큐 트랜잭션 로그 다시 사용

일반적인 경우에는 기존 트랜잭션 로그를 새 위치에서 다시 사용해서는 안 됩니다. Microsoft Exchange 전송 서비스를 정상적으로 종료하면 커밋되지 않은 모든 트랜잭션 로그 항목이 큐 데이터베이스에 커밋됩니다. 순환 로깅을 사용하므로 이전에 커밋된 데이터베이스 변경 내용이 포함된 트랜잭션 로그는 보존되지 않습니다. Microsoft Exchange 전송 서비스가 제대로 종료되지 않았거나 하드 디스크 드라이브 오류가 발생한 재해 복구 시나리오의 경우에만 기존 큐 데이터베이스 및 해당 기존 트랜잭션 로그를 복원하여 재배치해야 합니다.

새 위치에서 기존 큐 데이터베이스 트랜잭션 로그를 다시 사용하려면 다음을 수행합니다.

  1. 큐 데이터베이스 트랜잭션 로그를 저장할 디렉터리를 만듭니다. 디렉터리에 올바른 사용 권한을 적용합니다.

  2. 메모장을 사용하여 C:\Program Files\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config 파일을 엽니다.

  3. <appSettings> 섹션의 다음 줄을 수정합니다.

    <add key="QueueDatabaseLoggingPath" value="<LocalPath>" />
    

    예를 들어 위치를 "C:\Queue\QueueLogs"로 변경하려면 QueueDatabaseLoggingPath 매개 변수를 다음과 같이 수정합니다.

    <add key="QueueDatabaseLoggingPath" value="C:\Queue\QueueLogs" />
    
  4. EdgeTransport.exe.config 파일을 저장하고 닫습니다.

  5. Microsoft Exchange 전송 서비스를 중지합니다.

  6. 기존 Trn.log, Trntmp.log, Trnnnnn.log, Trnres00001.jrs, Trnres00002.jrs 및 Temp.edb 파일을 새 위치로 복사합니다.

  7. Microsoft Exchange 전송 서비스를 시작합니다.

  8. 원래 위치에서 사용하지 않는 Trn.log, Trntmp.log, Trnnnnn.log, Trnres00001.jrs, Trnres00002.jrs 및 Temp.edb 파일을 제거합니다.

자세한 내용

큐 데이터베이스에 대한 자세한 내용은 큐 데이터베이스 관리를 참조하십시오.

기본적으로 Move-TransportDatabase.ps1 스크립트는 Exchange 2007 SP1 기반 컴퓨터의 다음 폴더에 있습니다.

%ProgramFiles%\Microsoft\Exchange Server\Scripts

이 스크립트에는 다음 매개 변수가 허용됩니다.

  • -QueueDatabasePath

  • -QueueDatabaseLoggingPath

  • -IPFilterDatabasePath

  • -IPFilterDatabaseLoggingPath

  • -TemporaryStoragePath

전송 데이터베이스 또는 트랜잭션 로그 파일을 이동하기 위해 스크립트는 다음 작업을 수행합니다.

  1. 매개 변수 값의 유효성을 검사합니다.

    • 지정된 대상 경로가 원본 경로와 같으면 유효성 검사 작업을 건너뜁니다.

    • QueueDatabasePathIPFilterDatabasePath 값은 같을 수 없습니다. 두 위치에 모두 Trn.chk 파일이 포함되기 때문입니다.

    • QueueDatabaseLoggingPathIPFilterDatabaseLoggingPath 값은 같을 수 없습니다. 로그 파일의 이름이 같기 때문입니다.

    • 복사해야 하는 파일 크기에 2GB를 더한 공간이 사용 가능한지 확인합니다. 예를 들어 Mail.que, Trn.chk 및 Ipfiltering.edb 파일 크기에 2GB를 더한 공간을 사용할 수 있어야 합니다.

    참고

    대상 경로가 원본 경로와 같은 드라이브에 있으면 파일 공간 확인을 건너뜁니다.

  2. 적절한 폴더를 만듭니다.

    • 필요한 경우 대상 폴더를 만듭니다.

    • Administrators 그룹, 로컬 시스템 계정 또는 네트워크 서비스 계정에 대상 경로에 대한 모든 권한이 없으면 해당 권한을 추가합니다.

    • Administrators 그룹, 로컬 시스템 계정 또는 네트워크 서비스 계정에 대상 경로에 대한 액세스 거부 규칙이 있으면 경고 메시지를 생성합니다. 이 경우에는 스크립트가 존재하지 않습니다.

  3. MSExchangeTransport 서비스를 중지합니다.

  4. EdgeTransport.exe.config 파일을 백업하고 이름을 EdgeTransport.exe.config.yyyyMMddHHmmss.old로 지정합니다.

  5. 사용한 명령에 따라 다음 파일을 대상 경로로 이동합니다.

    • QueueDatabasePath Mail.que, Trn.chk

    • IPFilterDatabasePath: IPFiltering.edb, Trn.chk

    • 로깅 경로: Trn*.log, Trnres00001.jrs, Trnres00002.jrs, Temp.edb

  6. EdgeTransport.exe.config 파일을 업데이트한 다음 변경 내용을 파일에 저장합니다.

  7. MSExchangeTransport 서비스를 시작합니다.