Solved

some messages staying in local delivery queue

Posted on 2014-01-06
32
624 Views
Last Modified: 2014-01-08
Probably due to a restoration of an exchange 2003 database that has been backed up with block mode software (Shadowprotect), I have now some troubles (a few people do not receive their mails, they are stuck in the local delivery queue). Trying to force connection does not work.
I guess the priv database may be inconsistent.
From what I've read, I think I shoud use the following commands :
- chkdsk /f d:
- eseutil /p
- eseutil /d
- isinteg -s myserver -fix -test alltests

Do I have any alternative ? What are your recommandations ?

Regards.
Francis
0
Comment
Question by:bbn35bzh
  • 13
  • 13
  • 6
32 Comments
 
LVL 15

Expert Comment

by:jrhelgeson
ID: 39759559
Does the database mount?  If so, you may just get away with running ISINTEG - found in the \bin directory of Exchange Server.

Dismount the database you want to check and run the following from the command line:

ISINTEG -S {servername} -TEST ALLTESTS -FIX -VERBOSE

Select your database that you've dismounted, then let it run through.
0
 

Author Comment

by:bbn35bzh
ID: 39761423
Hello,
I have executed the command 'ISINTEG -S serveur-ml350 -TEST ALLTESTS -FIX -VERBOSE' twice yesterday evening. First time, some fixes were done, second time everything has been found OK. The problem remains identical. I still have 74 mails stuck ...
Any other idea ?
Regards.
Francis
0
 
LVL 76

Expert Comment

by:Alan Hardisty
ID: 39761706
Are the emails all for a specific email address / account or several addresses / accounts?

Have you checked Exchange to see if that mailbox still exists?

Did you run eseutil /p and eseutil /d ?

Alan
0
 

Author Comment

by:bbn35bzh
ID: 39761836
I only ran ISINTEG and not ESEUTIL as I've been told it might be sufficient. Do you recommend it ?
The problem impact several users but only one complains about it. Until a  final solution is found, I think I'm going to delete and recreate the mailbox for this VIP (saving all currently available mails before). Please advise ...
Francis
0
 

Author Comment

by:bbn35bzh
ID: 39761844
Is there any log where I could find clues regarding local delivery problems?
Regards.
Francis
0
 
LVL 76

Expert Comment

by:Alan Hardisty
ID: 39761862
I would recommend you run eseutil /p, then eseutil /d and then finally isinteg (at least twice), but that will mean down time, and you will need 110% of the database size in free disk space to run the defrag (eseutil /d), but it should solve your problems.

I wouldn't zap the mailbox - I would get repairing.

Make sure you have a backup of the database before you start, or repair / defrag a copy of the database so you can roll things back if you need to.

Alan
0
 

Author Comment

by:bbn35bzh
ID: 39761875
Ok, I'm going to schedule these 3 commands at 17h30 today. I let you know tomorrow morning.
Thanks.
Francis
0
 
LVL 76

Expert Comment

by:Alan Hardisty
ID: 39761962
No problems - how big is the database?  The repair / defrag will run at about 4-6Gb / hour, so allow plenty of time for a large database!!

Isinteg is usually much quicker.

You will have to dismount the database to run eseutil :)

Alan
0
 

Author Comment

by:bbn35bzh
ID: 39761981
The database is 12GB large and I have 60GB free on the same drive ...

Francis
0
 
LVL 76

Expert Comment

by:Alan Hardisty
ID: 39762015
That should be fine.  Won't take forever then.
0
 

Author Comment

by:bbn35bzh
ID: 39762402
Do you think I should use eseutil /r before eseutil / p  ??

Francis
0
 
LVL 76

Expert Comment

by:Alan Hardisty
ID: 39762419
No - why would you want to replay log files?
0
 
LVL 15

Assisted Solution

by:jrhelgeson
jrhelgeson earned 200 total points
ID: 39762507
I disagree - if he runs ISINTEG and it comes back clean after the second pass, then that indicates that the database is in good shape. If the ISINTEG does not come back clean, or the database doesn't mount - that is when you need to take the DB offline and run ESEUTIL.

The problem is with the local delivery queue.

Are you having any event log errors from "MSExchangeTransport" or "MSExchangeIS Mailbox" or similar? If so, post any that appear relevant to the situation.  If there are no errors, or the errors are not descriptive enough then we'll need to turn up MTA Debugging to get relevant error messages:

To modify logging settings for MSExchangeTransport

1.      Click Start, point to Programs, point to Microsoft Exchange, and then click System Manager.
2.      In the console tree, expand Servers, right-click <Server Name>, and then click Properties.
3.      Click the Diagnostics Logging tab.
4.      Under Services, click MSExchangeTransport.
5.      Under Categories, click the category for which you want to configure the logging level:
Select Routing Engine/Service to troubleshoot routing issues. Increase the logging level for this component if messages are accumulating in the Messages waiting to be routed SMTP queue.
Select Categorizer to troubleshoot problems with address resolution in Active Directory, distribution list expansion, and other categorizer issues. Increase the logging level for this component if messages are accumulating in the Messages awaiting directory lookup SMTP queue.
Select Queuing Engine to troubleshoot problems with the queuing engine. Increase the logging level for this component if you are experiencing mail flow problems, and mail is not accumulating in any of the queues.
Select Exchange Store Driver to troubleshoot issues with the Exchange store driver. Increase the logging level for this component if messages are accumulating in the local delivery SMTP queue, the X.400 queues, or if you have problems receiving mail from Exchange 5.x servers or other mail systems.
Select SMTP Protocol to troubleshoot general SMTP issues. Increase the logging level for this component if messages are accumulating in the Remote delivery SMTP queue to determine if SMTP errors are causing the bottleneck.
Select NTFS store driver to troubleshoot issues with the NTFS store driver. Increase the logging level for this category if messages are accumulating in the Queue folder of your SMTP virtual server and are being processed slowly or not being processed at all.
Under Logging level, click None, Minimum, Medium, or Maximum. Click Maximum for troubleshooting purposes.
http://technet.microsoft.com/en-us/library/bb124596(v=exchg.65).aspx
0
 
LVL 76

Expert Comment

by:Alan Hardisty
ID: 39762524
So why after eseutil /p does MS recommend running eseutil /d and isinteg?

And if you repair the database using eseutil /p, why does isinteg find and fix errors?
0
 

Author Comment

by:bbn35bzh
ID: 39762525
at the moment, I've just begun eseutil /p on the priv1.edb database ...
I unterstand from what I read above that it might be not necessary.

Is it mandatory that I do an 'eseutil /d' after the 'eseutil /p' I've just launched ?

Francis
0
 
LVL 76

Expert Comment

by:Alan Hardisty
ID: 39762560
Yes - run the eseutil /d after the /p and then run isinteg.

I don't agree with jrhelgeson's comment.
0
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

 
LVL 15

Expert Comment

by:jrhelgeson
ID: 39762577
So why after eseutil /p does MS recommend running eseutil /d and isinteg?
And if you repair the database using eseutil /p, why does isinteg find and fix errors?
ESEUTIL is a generic database maintenance utility. It does not distinguish between Active Directory DB, Exchange DB, or numerous other Microsoft JET database. It is a generic utility designed for high-level structural repair.

ISINTEG is the database utility that recognizes the Exchange database as storing email messages and it ensures that all the details are in place.  If ESEUTIL is an Emergency Room Doc, ISINTEG is a neurosurgeon.   The ER Doc will get the right parts back in the right neighborhoods - but the neurosurgeon will get the nerve endings reattached and bring back full functionality.

If ISINTEG returns clean, you can rest assure that the structural components are sound. If it returns errors that it cannot fix, then you need the structural repairs that ESEUTIL provides.  ESEUTIL is also needed when you cannot mount the database or need to run an offline defrag.

ISINTEG should always be run after you use ESEUTIL for any database operation.

That being said: Based upon the information provided, I believe that we are dealing with a queue issue and not a database issue.
0
 
LVL 76

Expert Comment

by:Alan Hardisty
ID: 39762595
Well - happy to agree with you if the repair. defrag and integrity check doesn't work, but in my experience, it is usually the database that has the problem, especially when it is only just a select few messages that don't make it past the queue, but happy to be wrong.

Alan
0
 
LVL 15

Expert Comment

by:jrhelgeson
ID: 39762957
Alan - if the DB passes ISINTEG, then it is a classic problem with messages being stuck in the queue after a DB recovery.  If it passes ISINTEG, running ESEUTIL essentially gains you nothing.

In order to get the messages flowing again, we need an error message that will tell you why the messages are not getting delivered.  I'm not sure what there is to disagree with.
0
 
LVL 76

Expert Comment

by:Alan Hardisty
ID: 39763020
Time will tell.

From what you are saying it seems that you think ALL messages are not leaving the queue, which is not what is happening.

From the question:
"I have now some troubles (a few people do not receive their mails, they are stuck in the local delivery queue)"

So the queue is fine for most emails, just not one or two users, so essentially the queue works.

I've had numerous problems like this on my own 2003 Exchange server and all have been fixed with eseutil and isinteg.
0
 

Author Comment

by:bbn35bzh
ID: 39763498
Hi Alan and J,

I have done eseutil /p, eseutil /d and isinteg twice. The pb is still the same. Doing a bit more investigation, I am now sure the stuck mails are all for the same mailbox. I have check that the MB has not reached its size limitations.
Due to the fact that the MB belongs to one of the big boss, I wonder if I could find a workaround to allow him to get at least his new mails ...

I'll keep on working on that problem tomorrow morning. It's time to go to sleep ...
Regards
Francis
0
 
LVL 76

Expert Comment

by:Alan Hardisty
ID: 39763528
Okay - any 326 / 1194 Event ID's appearing in the Application Event Log?
0
 

Author Comment

by:bbn35bzh
ID: 39764475
none
0
 

Author Comment

by:bbn35bzh
ID: 39764489
0
 
LVL 76

Expert Comment

by:Alan Hardisty
ID: 39764583
I had seen that too and it looks like it should work, but have you tried jrhelgeson's suggestions yet?

Alan
0
 

Author Comment

by:bbn35bzh
ID: 39764599
Hi Everybody,

after modifying logging level, I get now plenty of 'Event ID 327 from MSExchangeTransport with error code -2147221240 on call = EcLocallyDeliverMsg. I also get error code -1605.

It looks more and more that this one MB is corrupted. If there is no quick way to check MBox integrity, I think I'm going to delete it and recreate a new one. Could it solve my pb?

Francis
0
 
LVL 76

Accepted Solution

by:
Alan Hardisty earned 300 total points
ID: 39764607
Try the hotfix here first:

http://support.microsoft.com/kb/823494

If that doesn't work, export to .pst, splat the mailbox and follow the link you posted earlier.

Alan
0
 
LVL 15

Expert Comment

by:jrhelgeson
ID: 39764963
I would implement dial-tone messaging and do a complete recovery of the old database. High-level overview of what this looks like:

1.  Shut down the Exchange Store service,  "NET STOP MSEXCHANGEIS" from the command line
2.  Move/rename the directory containing your PRIV1.edb & .stm files, then re-create that directory name/path.
3.  Start the Information Store service with those database files missing.  Exchange will not mount the missing database files, but will have a valid path to where those files should be.
4.  Manually mount the databases within Exchange System Manager - this will re-create empty databases and give you the 'dial-tone' messaging. Messages will start flowing into this newly created (clean) database.
5.  Mount the old (broken) database as a recovery storage group.
6.  Merge the mailboxes from the old database back into the new (clean) database.
0
 

Author Closing Comment

by:bbn35bzh
ID: 39765097
I finally solved by deleting and recreating the mailbox and the first tests are OK.
I would like to know if there is a tool being capable of detecting corrupted mailbox.

Many thanks Alan and J for your availability and competence.

Last minute writing :
Although it seems OK, the old MB still appears in the list of MB in Exchange System Management. How can I remove it ?

Thanks for your time and best regards.
Francis
0
 
LVL 76

Expert Comment

by:Alan Hardisty
ID: 39765109
The old mailbox will eventually go - it just needs Exchange to run it's maintenance overnight to mark it as a deleted mailbox and then it can be purged.

For now - don't worry.

Glad the mail is flowing again and thanks for the points.

Alan
0
 
LVL 15

Expert Comment

by:jrhelgeson
ID: 39765453
Being that this exchange database was restored, and that restored database had problems - I would highly recommend creating a new mailbox database and moving all mailboxes from the old DB into the new.

The one problem you had exhibited itself in a fashion that was quite noticeable. That problem was resolved by re-creating the user mailbox.  Additional problems likely exist for other mailboxes in that database, they just haven't become apparent yet.

Glad to see you got it working.

Regards,
Joel
0
 

Author Comment

by:bbn35bzh
ID: 39765706
Hi Joel (better than just J ),

I thank you for all your precious advices. I guess I still may have problems with that database. I plan to 'hit' the customer to change this rather old server to a new one asap and migrate to Exch2010SP2 or should I choose Exchange2013. But this is another story...

Best Regards,

Francis
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

"Migrate" an SMTP relay receive connector to a new server using info from an old server.
Not sure what the best email signature size is? Are you worried about email signature image size? Follow this best practice guide.
The video tutorial explains the basics of the Exchange server Database Availability groups. The components of this video include: 1. Automatic Failover 2. Failover Clustering 3. Active Manager
The basic steps you have just learned will be implemented in this video. The basic steps are shown to configure an Exchange DAG in a live working Exchange Server Environment and manage the same (Exchange Server 2010 Software is used in a Windows Ser…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now