Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've inherited some code which uses Exchange Web Services to synchronize data between an Exchange server and our system.

I'm currently trying to troubleshoot a problem where the code generates a huge amount of transaction log data (200GB over a couple of days).

Now, I'm pretty new to Exchange, but one thing I've noticed, which surprises me, is that some 20MB of transaction log files are generated even when I run our program in read-only mode (so it calls GetItem, FindItem, GetFolder and FindFolder, but create/update/delete calls are stubbed out.)

How come? what does Exchange need transaction logs for when reading data?

share|improve this question
up vote 2 down vote accepted

Those ops are not pure read only. They do incur database writes in the form of last-read attribute updates, and a variety of other things like mailbox-last-accessed-by. They're write-light, not read-only as far as the database is concerned.

share|improve this answer
Well, that makes sense. Thanks for the explanation. – jalf Mar 22 '11 at 17:05
Do you also know exactly how many items are "touched" by these operations? For example, if I use FindItem to search for items where a certain extended property has a specific value, does it update just the items returned by the operation, all those where the property exists, or an even larger number of items? I'm trying to figure out which operations are causing these huge amounts of transaction logs. – jalf Mar 23 '11 at 7:59
@Jalf I don't, nor do I even have a rough guess. Any time you enter a mailbox for any reason last-accessed is updated. I'm not sure of internals, since those fields are completely invisible to end users without debug tools. I've used debug tools so have seen some of them, but can't claim to know them all. – sysadmin1138 Mar 23 '11 at 11:19

You should inspect your diagnostic logging, you might have some/all settings set on verbose level.

share|improve this answer
The problem is Exchange's own transaction logs, not diagnostics. As far as I know (and there's a lot I don't know about Exchange), there's no verbosity level for the former, as the logs are used internally by Exchange. – jalf Mar 22 '11 at 17:04

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.