다음을 통해 공유


Exchange 데이터베이스의 명명된 속성 및 복제본 식별자 제한에 대한 영향 이해

 

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

마지막으로 수정된 항목: 2012-03-26

Microsoft는 서로 다른 여러 메시징 전송 구성 요소를 연결하는 하나의 방법으로 MAPI(메시징 API)를 사용합니다. MAPI 사양에는 대부분의 개체가 속성으로 표시됩니다. 이러한 속성을 식별하기 위해 MAPI는 속성 식별자 또는 PropID라는 식별자를 사용합니다.

속성 식별자는 1에서 0xFFFF까지의 16진수 값 집합입니다. 이 집합에 속하는 속성은 총 65,534개입니다. 이러한 속성은 다음과 같은 그룹(범위라고도 함)으로 나뉩니다.

  • 전송 가능 속성 - Exchange에서 메시지를 통해 보낼 수 있는 속성으로 구성되는 범위입니다.

  • 내부 속성 - Exchange에서만 설정할 수 있는 속성으로 구성되는 범위입니다.

  • 전송 불가 속성 - Exchange에서 메시지를 배달할 때 조직 외부로 배달되지 않는 속성을 나타내는 범위입니다.

이러한 범위에 속하는 속성을 표준 속성이라고 합니다. 표준 MAPI 속성은 고정된 ID를 포함하며 0x8000 미만의 모든 속성을 나타냅니다.

이 세 범위 외에 하나의 범위가 더 있습니다. 이 범위는 규모가 가장 크며 0x8000 이상의 모든 속성을 나타냅니다. 이 범위에 속하는 속성을 명명된 속성이라고 합니다. 공급업체는 명명된 속성을 사용해 고유 속성을 추가함으로써 표준 MAPI 속성 집합을 확장할 수 있습니다.

명명된 속성은 다음과 같은 두 가지 기본 유형으로 구성됩니다.

  • 이름이 숫자인 속성. Microsoft Outlook과 같은 프로그램에서 사용하는 속성으로, 이러한 속성 이름은 보통 원본 파일에서 정의됩니다.

  • 이름이 문자열 값인 속성. 이러한 속성을 "문자열 명명 속성"이라고 합니다. 이러한 각 속성에는 이름 외에 연결된 GUID도 있기 때문에 이를 통해 개발자가 명명된 속성을 속성 집합으로 나눌 수 있습니다.

명명된 속성에는 특정 ID가 할당되어 있지 않으므로 MAPI는 명명된 속성에 대한 고유 ID를 동적으로 만들고 명명된 속성과 해당 고유 ID 간의 영구 매핑을 유지 관리하는 기능을 제공합니다. 그러나 이러한 ID를 동적으로 만든다는 것은 명명된 속성에 대한 속성 ID가 컴퓨터마다 다를 수 있음을 의미합니다.

Microsoft Exchange Information Store 서비스는 각 데이터베이스에 대한 명명된 속성 표를 유지 관리하고, 정보 저장소에서 사용자 지정 정보를 포함하는 메시지를 처리할 경우 이전에 처리되지 않은 모든 사용자 지정 속성에 대한 항목이 명명된 속성 표에 자동으로 추가됩니다.

인터넷을 통해 보내는 메시지는 메시지/RFC822라는 형식으로 전송됩니다. 이 형식은 키와 값 쌍 집합을 포함하는 헤더와 함께 일반 텍스트로 된 메시지가 있는 텍스트 형식입니다. RFC822에서는 X-헤더라는 속성 집합을 지원합니다.

Exchange는 Imail이라는 구성 요소를 사용해 메시지를 메시지/RFC822 형식에서 MAPI 형식으로 변환합니다. Imail은 RFC822 메시지에서 키 값 쌍을 가져온 다음 가능한 경우 해당 키 값 쌍을 MAPI 속성으로 변환합니다. 또한 Imail은 MAPI 속성을 가져와 RFC822 키 값 쌍으로 변환하는 역 변환 기능도 제공합니다.

Microsoft Exchange 2000 Server부터 Imail 구성 요소에는 "애드혹" 헤더라는 지원 헤더가 포함되었습니다. Exchange는 나중에 사용할 수 있도록 이러한 헤더를 보존합니다. 애드혹 헤더 정의에 포함된 헤더 유형 중 하나가 X-헤더이기 때문에, Exchange는 X-헤더 정보도 나중에 사용할 수 있도록 저장합니다.

예를 들어 회사에서 Exchange와 통합되는 새 응용 프로그램을 구현하고 SMTP X-헤더를 사용하면 Microsoft Exchange 정보 저장소 서비스는 X-헤더가 포함된 첫 번째 메시지를 처리할 때 해당 사용자 지정 정보에 대해 명명된 속성을 만듭니다.

참고

그 후에 동일한 X-헤더가 포함된 후속 메시지를 처리할 때는 Exchange가 명명된 속성을 추가로 만들지 않습니다.

Exchange는 특정 X-헤더가 포함된 메시지와 함께 이러한 명명된 속성을 저장합니다. Microsoft에서는 인터넷을 통해 수신한 메시지의 X-헤더를 그룹화하는 데 사용할 수 있는 PS_INTERNET_HEADERS 네임스페이스를 게시했습니다.

명명된 속성 제한

다음 목록에는 명명된 속성에 대한 일부 중요한 사항이 요약되어 있습니다.

  • X-헤더는 메시지/RFC822 메시지에서 특정 중요 값을 포함하는 필드입니다.

  • Exchange는 명명된 속성을 사용해 특정 값의 ID를 보존합니다.

  • 명명된 속성은 0x8000에서 0xFFFF까지의 속성 식별자 범위에 속합니다. 따라서 MDB(메시징 데이터베이스)에서 만들 수 있는 명명된 속성 수에는 제한이 있습니다.

  • 명명된 속성은 한 번 할당하면 할당을 취소할 수 없습니다. 즉, 특정 이름과 GUID 조합에 대한 속성이 계속 보존됩니다.

    참고

    기술적으로는 할당되어 있는 명명된 속성을 복구할 수 있습니다. 그러나 이 프로세스는 효율적이지 못하며, 각 메시지에서 사용되지 않은 속성을 확인하는 동안은 MDB를 분리해야 합니다.

사용 가능한 명명된 속성 수는 고정되어 있으므로, Exchange는 할당량 시스템을 사용해 할당되어 있는 명명된 속성 수를 추적합니다. 이 시스템에서는 사용 가능한 명명된 속성 ID를 거의 모두 사용하면 Store.exe 프로세스가 경고를 표시합니다. 두 번째 임계값에 도달하면 Store.exe 프로세스는 더 이상 명명된 속성 ID를 할당하지 않습니다.

명명된 속성 모두 사용

많은 프로그램에서 명명된 속성을 사용하지만, 그 중에서도 가장 많이 사용하는 프로그램은 Microsoft Outlook입니다. 명명된 속성 ID를 모두 사용하면 Outlook은 명명된 속성을 매핑할 수 없습니다. 이 경우에는 다음과 같은 증상이 나타날 수 있습니다.

  • 응용 프로그램 로그에 이벤트 ID 9666 및 9667이 기록됩니다. 자세한 내용은 Exchange 데이터베이스에 명명된 속성 또는 복제본 식별자가 한도에 다다르면 수신되는 이벤트 9666, 9667, 9668 및 9669를 참조하십시오.

  • 매핑할 수 없는 속성이 포함된 메시지는 배달되지 않습니다. 메시지 추적 정보에서 영향을 받는 메시지를 확인할 때 다음과 같은 정보를 확인할 수 있습니다.

    550 5.2.0 STOREDRV.Deliver: Microsoft Exchange 정보 저장소 서비스에서 오류를 보고했습니다. 다음 정보를 통해 이 오류의 원인을 확인할 수 있습니다.

  • 명명된 속성이나 X-헤더를 메시지에 추가하는 추가 기능을 Outlook에 설치하면 특정 메시지가 조직의 다른 사용자에게 보내지지 않을 수 있습니다. 이 경우 메시지를 보내는 사용자가 다음과 같은 배달 못 함 보고서(NDR)를 받습니다.

    이 메시지가 받는 사람의 전자 메일 시스템에 도달했지만 메시지 배달이 거부되었습니다. 메시지를 다시 보내 보십시오. 배달에 다시 실패하면 시스템 관리자에게 문의하십시오.

복제본 식별자

명명된 속성의 가용성을 제한하는 문제는 공용 폴더 복제본 식별자에도 영향을 줍니다. 각 데이터베이스에 대한 속성 ID 개수는 최대 32,767개로 제한됩니다. 특정 데이터베이스와 관련해 이 제한에 도달하면 Exchange에서는 더 이상 새 속성 ID를 만들 수 없습니다.

사서함 데이터베이스에서 이 문제가 발생하면 새 사서함 데이터베이스를 만들고, 모든 사서함을 새 데이터베이스로 이동한 후 속성 ID에 대한 제한에 도달한 사서함 데이터베이스를 삭제해야 합니다. 그러면 새 사서함 데이터베이스를 만들고 해당 사서함 데이터베이스로 사서함을 다시 이동할 수 있습니다.

공용 폴더 데이터베이스에서 이 문제가 발생하면 복구 프로세스가 더 복잡해집니다. 이 경우에는 모든 공용 폴더를 다른 서버에 복제한 후 영향을 받는 공용 폴더 데이터베이스를 삭제해야 합니다. 그러면 콘텐츠를 원래 서버에 다시 복제하도록 허용할 수 있습니다. 그러나 공용 폴더에 대해 구성된 복제가 이미 있을 경우, 조직의 다른 공용 폴더 데이터베이스에도 해당 명명된 속성을 모두 사용한 항목이 포함되어 있을 수 있습니다. 이러한 데이터베이스도 구성된 ID 제한에 도달했을 수 있습니다. 이 문제를 해결하려면 액세스되지 않은 상태에서 명명된 속성을 사용하고 있을지 모르는 이전 콘텐츠가 제거되도록 공용 폴더에 에이징을 구성해야 합니다. 또는 공용 폴더 데이터베이스의 콘텐츠를 여러 공용 폴더 데이터베이스에 분산할 수도 있습니다.

기본적으로 Microsoft Exchange Server 2007의 경우 인증된 사용자 및 복제본 식별자에 의해 만들어진 명명된 속성에 대한 할당량은 16,384개이고, 인증되지 않은 사용자가 만든 명명된 속성에 대한 기본 할당량은 8,192개입니다. 이러한 기본 할당량을 사용하면 속성 ID가 한도에 다다를 수 있다는 알림을 조기에 받을 수 있습니다. 그러면 최대 제한에 도달하여 데이터베이스를 사용하지 못하는 상태가 되기 전에 조치를 취할 수 있습니다. 따라서 할당량을 사용하는 것은 응용 프로그램의 오작동이나 악의적인 DoS(서비스 거부 공격)의 영향을 최소화하는 데 도움이 될 수 있습니다. 또한 명명된 속성 및 복제본 식별자 수에 대해 할당량을 구성할 수도 있습니다. 할당량을 구성하는 방법에 대한 자세한 단계는 Exchange 2007 데이터베이스에 대해 명명된 속성 및 복제본 식별자 할당량을 구성하는 방법을 참조하십시오.

Exchange 2007 SP1 및 Exchange 2007 SP2용 업데이트 롤업 8의 X-헤더 변경

Exchange Server 2007 SP1용 업데이트 롤업 8부터 Exchange의 X-헤더 지원 방식이 변경되었습니다.

참고

이러한 변경 내용은 Exchange 2007 SP2(서비스 팩 2)에도 포함되어 있습니다.

이전 Exchange 빌드에서는 X-헤더 수준을 데이터베이스 수준에서 올렸습니다. 따라서 특정 사용자가 데이터베이스에서 명명된 속성을 매핑하면 해당 데이터베이스의 다른 사용자가 이름 및 GUID 조합에 대해 같은 속성 ID를 받게 됩니다. 업데이트 롤업 8 이상 업데이트에서는 X-헤더 값을 저장하기 위해 명명된 속성을 사용할 수 있는 작업과 관련하여 새로운 규칙이 구현됩니다.

참고

특정 X-헤더 값에 대한 명명된 속성의 수준을 데이터베이스에서 이미 올린 경우 업데이트 롤업 8 이상 업데이트는 이를 제거하지 않습니다. 즉, 기존 X-헤더 매핑이 보존됩니다. 그러나 Exchange가 데이터베이스에서 수준이 올라가지 않은 X-헤더를 포함하는 메시지를 받으면 새로운 X-헤더 수준 올리기 규칙이 적용됩니다.

새 X-헤더 수준 올리기 규칙이 적용되면 명명된 새 속성을 사용하여 X-헤더 데이터를 보존하는 많은 시나리오가 더 이상 수행되지 않습니다. 다음 섹션에서는 이러한 시나리오 중 몇 가지에 대해 설명합니다.

더 이상 명명된 속성을 사용해 X-헤더를 보존하지 않는 시나리오

익명 전송

인터넷에서 보낸 익명 전자 메일 메시지가 더 이상 X-헤더에 대해 명명된 속성을 사용하지 않습니다. 익명 전자 메일 메시지의 기존 X-헤더 정보는 유지되지만, X-헤더 값은 더 이상 전자 메일 메시지에서 속성으로 저장되지 않습니다.

포함 메시지

포함 메시지 기능은 MAPI 응용 프로그램을 위한 상호 운용성 기능으로 만들어진 것으로, 이 기능으로 봉투 또는 최상위 속성을 설정할 수 있습니다. 포함 메시지는 더 이상 명명된 새 속성을 사용하지 않습니다.

저널 메시지

저널 메시지는 Exchange에서 X-헤더를 가장 많이 사용합니다. 다음과 같은 시나리오를 고려합니다.

  • 조직에 데이터베이스 100개와 저널 데이터베이스 하나가 있습니다.

  • 각 MDB(메시징 데이터베이스)는 매달 인터넷에서 보낸 새 X-헤더를 100개 사용합니다.

이 시나리오에서 저널 MDB는 매달 새 X-헤더를 100 x 100개 사용하기 때문에 사용 가능한 명명된 속성을 모두 신속하게 사용하게 됩니다.

참고

저널 메시지에서는 더 이상 새 X-헤더 매핑 수준을 올리지 않지만 저널 내용은 계속 제대로 저장됩니다. 예를 들어 저널링된 보고서 및 메시지는 계속 저장됩니다.

계속 명명된 속성을 사용해 X-헤더를 보존하는 시나리오

인증된 사용자

인증된 사용자는 X-헤더 수준이 올라가는 메시지를 계속 만들 수 있습니다.

MAPI 응용 프로그램

MAPI 응용 프로그램에서는 명명된 속성을 계속 만들 수 있습니다. PS_INTERNET_HEADERS 네임스페이스에 있는 이러한 속성이 X-헤더가 됩니다. 속성 매핑을 사용하는 Exchange 웹 서비스 응용 프로그램도 명명된 속성을 만들 수 있습니다. 이러한 속성도 X-헤더가 될 수 있습니다.

참고

MAPI에서 X-헤더를 사용하는 응용 프로그램은 변경할 필요가 없습니다. 이러한 응용 프로그램은 명명된 속성 조합의 ID를 올바르게 요청합니다. 예를 들어 응용 프로그램은 PS_INTERNET_HEADERS 및 "X-<HeaderString>"을 요청합니다.

사용자가 요청 시 MAPI_CREATE 플래그를 사용하는 경우에는 응용 프로그램이 특정 X-헤더를 MDB에 보존되는 X-헤더 목록에 자동으로 추가합니다. 또한 응용 프로그램이 PS_INTERNET_HEADERS 네임스페이스에 명명된 속성 매핑을 만들어 MAPI에서 X-헤더를 설정하는 경우에는 X-헤더에 대한 매핑이 이미 만들어져 있습니다. Exchange는 받는 메시지에 대해 이 매핑을 유지하며 보내는 메시지에 대해 매핑을 생성합니다.

중요

응용 프로그램이 명명된 속성 ID를 요청할 때 MAPI_CREATE를 사용하지 않는 경우, 그리고 PS_INTERNET_HEADERS 네임스페이스에 속하는 이름을 요청했는데 해당 ID를 다른 클라이언트가 아직 요청한 적이 없는 경우에는 응용 프로그램이 작동하지 않습니다. 그러나 권한이 있는 클라이언트나 MAPI 클라이언트가 X-헤더를 이름으로 요청하고 나면 응용 프로그램이 작동합니다.

Exchange 2010의 속성 변경

Exchange Server 2010에는 이 문서에서 설명하는 문제를 해결하기 위한 향상된 기능이 추가로 포함되어 있습니다. Exchange 2010에서는 명명된 속성 리소스가 데이터베이스 수준이 아닌 사서함 수준으로 이동됩니다.

자세한 내용

데이터베이스 관리에 대한 자세한 내용은 저장소 그룹 및 데이터베이스 관리를 참조하십시오.

Exchange 2007의 보안 및 보호 기능에 대한 자세한 내용을 보려면 보안 및 보호를 참조하십시오.