Link to home
Start Free TrialLog in
Avatar of Joe Danyi
Joe Danyi

asked on

Exchange 2007 Queue Database corrupted .que file

Hey there I am hoping to get some clarification on a MS guide I’m following this guide,
https://technet.microsoft.com/en-us/library/bb124343(v=exchg.80).aspx
The transport service kept failing so I backed up and removed the \Exchange Server\TransportRoles\data\Queue folder and restarted the service and it’s been fine. I have a 100mb  mail.QUE  file that I need to process that contains the queue that was causing the crash (I presume).
I am happy with the “Performing a Recovery of the Queue Database by Using Eseutil”, but I get lost at “Preparing the Existing Queue Database on the Target Exchange Transport Server for Replacement by the Recovered Queue Database”. I do not have anything in the queue at current, what effect will this have on my server, and if it does export a bunch of *.EML files what can I do with these files on the server, can I reprocess them? Someone suggested on http://serverfault.com/questions/74003/import-folders-with-eml-files-into-exchange-2007-mailboxes to “Set up an IIS SMTP server and configure it to use your Exchange server as a smart host”

I currently threw this script together to perform the task at hand:
#path 2
#step 1 Move the queue database to a temporary location on the target Exchange transport server.
#step 2 Perform a recovery of the queue database by using Exchange Server Database Utilities (Eseutil.exe).
#step 3 Perform an offline defragmentation of the queue database by using Eseutil.
#step 4 Prepare the existing queue database on the target Exchange transport server for replacement by the recovered queue database.
#step 5 Start the repaired queue database on the target Exchange transport server.
$server = "TAESERVER"
#Eseutil /P (Repair)
$path = "D:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue_old"
$path2 = "D:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue_old2"
if (!(Test-Path $path2)) { mkdir $path2 }
$path3 = "D:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue_old3"
if (!(Test-Path $path3)) { mkdir $path3 }
$que = "D:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue_old\mail.que"
Get-Queue
get-service *exch*
cd $path
Eseutil /r Trn /d. /8
Eseutil /d mail.que
Suspend-Service *MSExchangeTran*
get-service *exch*
Get-Queue
#export current messages we want to save I DO  NOT GET THIS BIT
Retry-Queue -Identity "$server" -Resubmit $True
Retry-Queue -Identity "Unreachable" -Resubmit $True
Get-Message -Queue "Unreachable" | Export-Message -Path "$path2"
#In the Queue Viewer, select the Poison Message queue, select a message, and, in the action pane, select Resume.
Get-Message -Queue "Poison" | ft Identity
Resume-Message <IdentityofPoisonMessage>
Get-Message -Queue "Poison" | Export-Message -Path "$path3"
Retry-Queue “$server” -Resubmit $True
Set-TransportServer -MessageExpirationTimeout <LongerTimeOutIntervalIndd.hh:mm:ssFormat>
#ALL THE WAY TO HERE I GET THIS BIT
#process queue
stop-service MSExchangeTransport
#place old que files in defult directory
start-service *exch*
get-service *exch*
#script End

Please advise on what I can expect from this and any tips that I may need to get this to work and if I am taking the right steps to process the  mail.QUE files/folder.
Thanks, in advance


Windows Server 2008
Exchange 2007
Edition : Standard
AdminDisplayVersion : Version 8.1 (Build 240.6)
que.PNG
que2.PNG
ASKER CERTIFIED SOLUTION
Avatar of Tej Pratap Shukla ~Dexter
Tej Pratap Shukla ~Dexter
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial