Descripción del impacto de los límites de la propiedad con nombre e identificador de réplica en las bases de datos de Exchange

 

Se aplica a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1

Última modificación del tema: 2012-03-26

Microsoft usa la API de mensajería (MAPI) para conectar los distintos componentes de transporte de mensajería. La especificación MAPI representa la mayoría de los objetos como propiedades. Para identificar estas propiedades, MAPI usa identificadores de propiedad.

Se trata de un conjunto de valores hexadecimales comprendidos entre 1 y 0xFFFF. Esto permite disponer de 65.534 propiedades, que se dividen en los siguientes grupos conocidos como intervalos:

  • Propiedades que se transmiten: propiedades que Exchange puede enviar con un mensaje.

  • Propiedades internas: propiedades que sólo puede establecer Exchange.

  • Propiedades que no se transmiten: las propiedades que no se entregan fuera de la organización cuando Exchange entrega un mensaje.

Las propiedades que se encuentran dentro de estos intervalos se conocen como propiedades estándar. Las propiedades MAPI estándar tienen identificadores fijos y representan todas las propiedades que están por debajo de 0x8000.

Existe otro intervalo, el más grande, que representa todas las propiedades que se encuentran dentro del valor 0x8000 y por encima del mismo. En este intervalo están las denominadas propiedades con nombre, que proporcionan un modo para que los proveedores amplíen el conjunto de propiedades MAPI estándares con las suyas propias.

Dentro de las propiedades con nombre, existen los dos tipos principales siguientes:

  • Propiedades con nombre formado por números. Son las propiedades que usan programas como Microsoft Outlook. Normalmente, los nombres de estas propiedades están definidos en un archivo de origen.

  • Propiedades con nombre formado por valores de cadena. Se conocen como "propiedades con nombre de cadena". Además de un nombre, cada una de estas propiedades tiene un GUID asociado. Esto permite a los programadores dividirlas en conjuntos.

Dado que las propiedades con nombre no disponen de identificadores específicos asignados, la instalación de MAPI crea dinámicamente identificadores únicos y mantiene de forma permanente la asignación entre cada propiedad y su identificador único. Sin embargo, el hecho de que estos identificadores se generen de forma dinámica implica que pueden variar según el equipo.

El servicio Almacén de información de Microsoft Exchange mantiene una tabla de propiedades con nombre para cada base de datos. Cuando el almacén de información procesa un mensaje que contiene información personalizada, agrega automáticamente una entrada en la tabla de propiedades con nombre para las propiedades personalizadas que no se hayan procesado anteriormente.

Los mensajes enviados a través de Internet se transfieren en un formato conocido como Message/RFC822, que incluye los mensajes como texto sin formato junto con los encabezados que contienen un conjunto de pares clave-valor. RFC822 admite un conjunto de propiedades que se denominan encabezados X.

Para traducir mensajes con el formato Message/RFC822 al formato MAPI, Exchange usa un componente denominado Imail, que toma los pares clave-valor de un mensaje RFC822 y, si es posible, los traduce a propiedades MAPI. Imail proporciona también la traducción recíproca, ya que toma propiedades MAPI y las traduce a pares clave-valor RFC822.

En Microsoft Exchange 2000 Server, el componente Imail incluía encabezados compatibles denominados "ad-hoc". Exchange conserva estos encabezados para posibles usos en el futuro. Uno de los tipos de encabezado que se incluían en la definición de encabezado ad-hoc eran los encabezados X. Por consiguiente, Exchange almacenaba la información de encabezado X para su uso posterior. 

Así, si una empresa implementa una nueva aplicación que se integra con Exchange y usa un encabezado X de SMTP específico, el servicio Almacén de información de Microsoft Exchange crea una propiedad con nombre para esta información personalizada cuando procesa el primer mensaje que contiene el encabezado X.

Nota

Los mensajes subsiguientes que tienen el mismo encabezado X no provocan la creación de propiedades con nombre adicionales en Exchange.

Exchange almacena estas propiedades con los mensajes que contienen el encabezado X determinado. Microsoft ha publicado el espacio de nombres PS_INTERNET_HEADERS para agrupar los encabezados X de los mensajes recibidos a través de Internet.

Límites de las propiedades con nombre

En la lista siguiente se resumen algunos aspectos importantes sobre las propiedades con nombre:

  • Los encabezados X son campos de mensajes con formato Message/RFC822 que contienen determinados valores importantes.

  • Exchange usa las propiedades con nombre como método de reserva de un identificador para un valor determinado.

  • Las propiedades con nombre pertenecen al intervalo de identificadores que comprende desde 0x8000 hasta 0xFFFF. Por tanto, existe un límite en la cantidad de propiedades con nombre que se pueden crear en una base de datos de mensajería (MDB).

  • La asignación de una propiedad con nombre no se puede cancelar. La propiedad permanece reservada para la combinación de GUID y nombre particular.

    Nota

    La recuperación de propiedades con nombre asignadas es técnicamente posible. No obstante, el proceso resulta poco práctico y requeriría el desmontaje de la MDB durante el tiempo que lleve examinar cada mensaje para determinar las propiedades no usadas.

Dado que hay un número fijo de propiedades con nombre disponible, Exchange usa un sistema de cuotas para realizar un seguimiento de las propiedades con nombre asignadas. En este sistema, el proceso Store.exe advierte cuando están a punto de agotarse los identificadores disponibles. Cuando se alcanza un segundo umbral, el proceso Store.exe ya no asigna identificadores de propiedades con nombre.

Falta de propiedades con nombre

Aunque muchos programas usan propiedades con nombre, Microsoft Outlook es el mayor usuario de este tipo de propiedades. Si se agotan los identificadores de propiedades con nombre, Outlook no podrá realizar más asignaciones. En este escenario, puede suceder lo siguiente:

  • Los identificadores de evento 9666 y 9667 quedan registrados en el registro de aplicaciones. Para obtener más información, consulte Se reciben los eventos 9666, 9667, 9668 y 9669 cuando las propiedades con nombre o los identificadores de réplica están agotados para una base de datos de Exchange.

  • No se entregan los mensajes que contienen propiedades que no se pueden asignar. Al examinar la información de seguimiento de un mensaje afectado, se observa información similar a la siguiente:

    550 5.2.0 STOREDRV.Deliver: el servicio Almacén de información de Microsoft Exchange informó de un error. La información siguiente debe permitir identificar la causa de este error:

  • Cuando se instala un complemento que agrega propiedades con nombre o encabezados X a mensajes en Outlook, es posible que determinados mensajes no se envíen a otros usuarios de la organización. En este escenario, el usuario que envía el mensaje recibe un informe de no entrega (NDR) similar al siguiente:

    El mensaje llegó al sistema de correo electrónico del destinatario, pero fue rechazado. Intente reenviar el mensaje. Si se repite el error, póngase en contacto con el administrador del sistema.

Identificadores de réplicas

El problema que limita la disponibilidad de propiedades con nombre afecta también a los identificadores de réplicas de carpetas públicas. Existe un límite máximo de 32.767 identificadores de propiedades para cada base de datos. Cuando se alcanza este límite en una base de datos concreta, Exchange ya no puede crear más identificadores.

Si este problema se produce en una base de datos de buzones, debe crear una base de datos de buzones nueva, mover todos los buzones a la nueva base de datos y eliminar la que ha alcanzado el límite mencionado. A continuación, puede crear una nueva base de datos de buzones y volver a mover los buzones a dicha base de datos de buzones.

Si este problema se produce en una base de datos de carpetas públicas, el proceso de recuperación es más complicado. En este escenario, debe replicar todas las carpetas públicas en otro servidor y eliminar la base de datos de carpetas públicas afectada. A continuación, puede permitir que el contenido se vuelva a replicar en el servidor original. Sin embargo, si la replicación ya está configurada para las carpetas públicas, es probable que otras bases de datos de carpetas públicas de la organización también contengan elementos que usan las propiedades con nombre y, por lo tanto, que también hayan alcanzado los límites de identificadores configurados. Para solucionar este problema, se debe configurar el vencimiento en las carpetas públicas de forma que se purgue el contenido que no se use y que puede que consuma propiedades con nombre más antiguo. Como alternativa, también puede distribuir los contenidos de la base de datos de las carpetas públicas en varias bases de datos de carpetas públicas.

De manera predeterminada, Microsoft Exchange Server 2007 tiene una cuota de 16.384 propiedades con nombre creadas por usuarios autenticados e identificadores de réplica. La cuota predeterminada para propiedades con nombre creadas por usuarios no autenticados es de 8.192. Estas cuotas predeterminadas permiten recibir antes una notificación sobre el agotamiento potencial de los identificadores de propiedad. A continuación puede actuar antes de que se alcance el límite máximo y la base de datos quede inoperativa. Por tanto, las cuotas pueden ayudar a minimizar los efectos de una aplicación que no funcione correctamente o un ataque malintencionado de denegación de servicio. También puede configurar las cuotas para el número de propiedades con nombre e identificadores de réplica. Para obtener información detallada acerca de la configuración de cuotas, consulte Configuración de propiedades con nombre y cuotas de identificadores de réplicas para las bases de datos de Exchange 2007.

Cambios relacionados con los encabezados X en el paquete acumulativo de actualizaciones 8 para Exchange 2007 SP1 y Exchange 2007 SP2

En el paquete acumulativo de actualizaciones 8 para Exchange Server 2007 SP1, se han realizado cambios para que Exchange admita encabezados X.

Nota

Estos cambios también se incluyen en Exchange 2007 Service Pack 2 (SP2).

En compilaciones anteriores de Exchange, los encabezados X se promueven a nivel de base de datos. Por lo tanto, si un usuario particular asigna una propiedad con nombre en una base de datos, otros usuarios de dicha base de datos reciben el mismo identificador de propiedad para la combinación de nombre y GUID. El paquete acumulativo de actualizaciones 8 y las actualizaciones posteriores implementan nuevas reglas sobre las actividades que pueden consumir propiedades para almacenar valores de encabezado X.

Nota

Si una propiedad con nombre de un determinado valor de encabezado X ya se promueve en la base de datos, el paquete acumulativo de actualizaciones 8 y las actualizaciones posteriores no la quitarán. Las asignaciones de encabezado X existentes se conservan. Sin embargo, si Exchange recibe un mensaje que contiene un encabezado X que nunca se ha usado en la base de datos, tendrán efecto las nuevas reglas de promoción de encabezados X.

Con dichas reglas, muchos escenarios dejarán de consumir las propiedades con nombre nuevas con el fin de preservar los encabezados X. En las secciones siguientes se describen algunos de estos escenarios.

Escenarios que ya no consumen propiedades con nombre para preservar encabezados X

Envíos anónimos

Los mensajes de correo electrónico anónimos desde Internet ya no consumen propiedades con nombre para encabezados X. Aunque se conserva la información de encabezados X existente de mensajes de correo electrónico anónimos, el valor de los encabezados X ya no se guarda como una propiedad del mensaje.

Mensajes incrustados

Los mensajes incrustados se crearon como una característica de interoperabilidad para aplicaciones MAPI. Esta característica permite establecer propiedades de sobre o de nivel superior. Los mensajes incrustados ya no consumen propiedades con nombre nuevas.

Mensajes de diario

Representan la mayor cantidad de consumo de encabezados X en Exchange. Observe el escenario siguiente:

  • Existen 100 bases de datos en la organización junto con una base de datos de diario.

  • Cada base de datos de mensajería (MDB) está expuesta a 100 nuevos encabezados X de Internet al mes.

En este escenario, la MDB de diario está sujeta a 100 x 100 nuevos encabezados X cada mes. Por lo tanto, en poco tiempo se agotan las propiedades con nombre disponibles.

Nota

Aunque los mensajes de diario ya no promueven nuevas asignaciones de encabezado X, el contenido de diario se guarda tal como estaba previsto. Por ejemplo, todavía se guardan los informes y los mensajes de diario.

Escenarios que todavía consumen propiedades con nombre para preservar encabezados X

Usuarios autenticados

Los usuarios autenticados aún pueden crear mensajes con encabezados X que se promoverán.

Aplicaciones MAPI

Las aplicaciones MAPI aún pueden crear propiedades con nombre. (Estas propiedades ubicadas en el espacio de nombres PS_INTERNET_HEADERS serán encabezados X.) Las aplicaciones de servicios Web Exchange que usan asignaciones de propiedad también pueden crear propiedades con nombre. Estas propiedades también pueden ser encabezados X.

Nota

No es necesario realizar ningún cambio en las aplicaciones que usan encabezados X de MAPI. La aplicación debe solicitar correctamente los identificadores de combinaciones de propiedades con nombre. Por ejemplo, la aplicación debe solicitar PS_INTERNET_HEADERS y "X-<HeaderString>."

Si se usa el marcador MAPI_CREATE en una solicitud, la aplicación agregará automáticamente el encabezado X particular a la lista de encabezados X preservados en la MDB. Además, si la aplicación establece un encabezado X de MAPI creando una asignación de propiedad con nombre en el espacio de nombres PS_INTERNET_HEADERS, creará una asignación del encabezado X. Exchange preservará esta asignación para los mensajes entrantes y generará la asignación para los mensajes salientes. 

Importante

Si una aplicación no usa MAPI_CREATE al solicitar identificadores de propiedad con nombre y si solicita nombres que pertenecen al espacio de nombres PS_INTERNET_HEADERS y otro cliente no ha solicitado el identificador, la aplicación no funcionará. No obstante, tampoco funcionará después de que un cliente autorizado o un cliente MAPI soliciten el encabezado X por nombre.

Cambios de propiedades en Exchange 2010

Exchange Server 2010 incluye mejoras adicionales para afrontar los problemas descritos en este documento. En Exchange 2010, los recursos de propiedades con nombre se mueven en el nivel de buzón de correo en lugar de en el nivel de base de datos.

Para obtener más información

Para obtener más información acerca de la administración de bases de datos, consulte Administración de grupos de almacenamiento y bases de datos.

Para obtener más información acerca de las características de seguridad y protección de Exchange 2007, consulte Seguridad y protección.