Exchange Server 2019 Transport service stuck in starting state

Lasker Sokia 20 Reputation points
2025-10-30T11:15:22.5466667+00:00

On my Exchange Server 2019, the Microsoft Exchange Transport service fails to start. It stays in a “Starting” state indefinitely, and restarting the service or the entire server doesn’t resolve the issue. Other Exchange services (such as RPC and Information Store) are running fine.

The Event Viewer shows warnings related to service dependencies and possible delays with the transport database. I’ve checked the disk space and verified that the queue database path is accessible. Running Restart-Service MSExchangeTransport via PowerShell has no effect.

Exchange | Exchange Server | Development
0 comments No comments
{count} votes

Answer accepted by question author
  1. Steven-N 15,160 Reputation points Microsoft External Staff Moderator
    2025-10-30T13:26:52.1233333+00:00

    Hi Lasker Sokia

    Thank you for reaching out to Microsoft Q&A forum

    Based on your description, I understand that on your Exchange Server 2019, the Microsoft Exchange Transport service is failing to start and remains stuck in a "Starting" state indefinitely. Attempts to restart the service via PowerShell (Restart-Service MSExchangeTransport) or reboot the server have no effect.

    As far as I know, this issue usually happens when the transport modules take too long to start, often due to problems with the queue database (mail.que) or folder permissions. The Transport service needs quick access to this database for mail routing, so delays caused by insufficient permissions, corrupted queue files, or Active Directory connection issues can prevent it from starting properly. Other services may run fine, but the Transport service is more sensitive to these dependencies, especially after updates or configuration changes. If not fixed, it can temporarily disrupt mail flow—though messages in the queue are typically preserved.

    Therefore, you can follow the steps below to see if the issue can be solved:

    Step 1: Create a backup

    Back up C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\data\Queue. Check Event Viewer (Application → MSExchangeTransport) for Event IDs: 1022, 2080, 4000, 9646, or 1026.

    Step 2: Enable diagnostics and verify permissions

    Set-EventLogLevel "MSExchangeTransport\SmtpReceive" -Level Expert
    Set-EventLogLevel "MSExchangeTransport\Categorizer" -Level Expert
    icacls "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\data\Queue" /grant "NETWORK SERVICE:(OI)(CI)F" /T
    

    Step 3: Stop services and force terminate if needed

    Stop-Service MSExchangeFrontEndTransport, MSExchangeDelivery, MSExchangeTransport -Force
    # If hung:
    $pid = (Get-Process EdgeTransport -ErrorAction SilentlyContinue).Idif ($pid) { Stop-Process -Id $pid -Force }
    

    Step 4: Recreate Queue Database and Restart

    cd "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\data\Queue"
    Rename-Item mail.que, trn.chk, trn.log -NewName {$_.Name + ".old"}
    Remove-Item trntmp.log -ErrorAction SilentlyContinueStart-Service 
    MSExchangeTransportTest-ServiceHealth
    

    Step 5: Reset Logging and run System Checks (If Needed)

    Set-EventLogLevel "MSExchangeTransport\SmtpReceive" -Level Lowest
    Set-EventLogLevel "MSExchangeTransport\Categorizer" -Level Lowest
    # Only if logs show .NET/corruption errors:
    sfc /scannowDISM /Online /Cleanup-Image /RestoreHealth
    

    Please feel free to leave a comment below if you require any additional help. 

    Best regards


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".     

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.