What is use of Temp tables?
The Exchange Temp tables are special-purpose subfolders of the SMTP service’s logon to the Message Database. They are used for the creation of the bifurcated messages in the message categorizer, and as temporary storage for SendQ-submitted mail messages if SMTP cannot keep up with the processing of SendQ mail. When the SMTP service logs in to the Message Database, it forces an enumeration and submission of mail in the temp tables. So when we restart the Exchange server or restart the SMTP service, the mails in the temp tables will be resent.
Why the old messages are stuck in the queue?
- An error occurs each time the particular message is processed. For
example, the Information Store may return a retry-able error when an
attempt is made to relay the message, or the connector to the message
destination is unavailable.
- The message was categorized to go to a specific Message Database for
local delivery, but the Message Database is no longer available.
- An unknown or unexpected behavior caused by message damage.
What are roles and responsibilities of temp table?
- Act as a temporary Storage place for messages submitted via local Store Mailboxes while they are processed by Transport
- Persisting messages for bifurcation (for content conversion, DL expansion).
- Periodically removing messages from Send Queue (preventing “mail stuck in the Outbox” complaints).
- Enumerated via asynchronous op on VS logon to MDB.
- Can exist in every MDB for each virtual server to logon to it. Called TempTable#1, TempTable#2 etc… By default have 20 subfolders each for storing actual messages: configurable via
“HKLM\Software\Microsoft\Exchange\StoreDriver\Exchange\
instance#\TempTable” Registry value