Tuesday, November 11, 2008

Warning 2601, errors 2604 and 2501

Recently we received the following errors on a client:

Warning 2601, errors 2604 and 2501 -- In the event viewer.

A series of things can fix this issue.  

1.  Verify the Exchange server(s) is a member of the "Exchange Servers" and "Exchange Install Servers" groups.  Verify that these groups are under the manage/audit rights for the default domain policy (Under local policies -> user rights assignments). 

2. It could be related to the order Exchange services start up.  I think this was the right order:

"Microsoft Exchange Active Directory Topology Service" 
"Microsoft Exchange Anti-spam Update" 
"Microsoft Exchange EdgeSync" 
"Microsoft Exchange File Distribution" 
"Microsoft Exchange IMAP4" 
"Microsoft Exchange Information Store" 
"Microsoft Exchange Mail Submission" 
"Microsoft Exchange Mailbox Assistants" 
"Microsoft Exchange POP3" 
"Microsoft Exchange Replication Service" 
"Microsoft Exchange Search Indexer" 
"Microsoft Exchange Service Host" 
"Microsoft Exchange System Attendant" 
"Microsoft Exchange Transport" 
"Microsoft Exchange Transport Log Search" 
"Microsoft Search (Exchange)" 

3. The one that actually fixed the issue for me was to simply restart the Net Logon service and the "Microsoft Exchange Active Directory Topology Service."

Monday, November 10, 2008

Cannot enable a user for Communications Server

Why can't I enable users for Communications Server?  The option doesn't show up.

I have found that when I try to enable users on an x64 box, it doesn't show up.  You must run it via 32-bit with: 

dsa.msc -32

Wednesday, November 5, 2008

ESEUTIL - Maintenance and Recovery

ESEUTIL can provide a number of database functions including defrags and repairs.  I will be quickly covering a few of the more important tasks/scenarios.

ESEUTIL is in "C:\Program Files\Microsoft\Exchange Server\Bin" by default, and the rest of the commands I show run from this directory.

Offline defrags, under normal circumstances, do not need to be run.  This is because online maintenance typically does a good job of keeping things in order.  It may not get everything cleaned up, but what little bit it doesn't typically gets grown into anyways.  The need comes in when a chunk of users gets deleted, or if you have to add a very large quantity of users.


Determine White Space

   a. eseutil /ms  c:\exchange\data\sg1\mb1.edb 

**Must be run on an database that is not mounted**

b. Check event 1221 in the event log.

Once you determine that you have enough white space to warrant an offline defrag..

Run the Defrag

eseutil.exe /d c:\EXCHSRVR\mdbdata\SG1MS1.edb 



  a. Check current state: 

 eseutil.exe /mh C:\exchange\data\SG1\MB1.edb 
Notice how the database is in a Dirty Shutdown state?

b. Typically to recover from this, we need only run a variation of the following command:
  eseutil /r E00 /d "C:\Exchange\Data\SG1\MB1.edb" /l "c:\exchange\logs\sg1" 

As shown below, this did the trick.

 c.  If this didn't work, we may have need to fall back on a full repair.  This is typically only used if log files are missing, the database is corrupt, or some other catastrophic event has occurred.  It is executed by instead using the /P switch, and basically it tosses any pages that it does not perceive as fixable.  According to Microsoft, you should follow this up with an isinteg.exe run, but I've been told by enough people that it is bad mojo to keep me shying away from it unless I have to.

Other ESEUTIL functions are more informational such as /G /M and /K.

You can reference the official Microsoft site for eseutil here.