Exchange ServerTroubleshooting

Microsoft Exchange Writer failed or Retryable error: fixing Exchange Server VSS backups

vssadmin shows the Microsoft Exchange Writer Failed or Retryable, or logs pile up after a 'successful' backup? Reset the writer, fix DAG conflicts and prove it with Windows Server Backup.

Every Exchange-aware backup product, from Veeam to Windows Server Backup, goes through one component: the Microsoft Exchange Writer. When it fails, the job fails or ends with a warning and no log truncation. In this post I'll show how to read the writer's state, reset it safely, fix the DAG conflicts Microsoft documents, and prove which side is at fault.

Errors this guide fixes

  • Last error: Retryable errorvssadmin list writers+1 more guide
  • Last error: Non-retryable errorvssadmin list writers
  • Last error: Timed outvssadmin list writers+1 more guide
  • State: [9] Failedvssadmin list writers
  • State: [5] Waiting for completionvssadmin list writers
  • Status for writer Microsoft Exchange Writer: STABLE (0x800423f3 - VSS_E_WRITERERROR_RETRYABLE)BETEST
  • The log copier was unable to communicate with serverApplication log (MSExchangeRepl event 2153)
How this guide is organised: Symptoms → Why it happens → How to fix it → When the backup "succeeds" but logs don't truncate → Verify the fix → Prevent it next timeFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it (5 steps: Capture the state first; Reset the writer; Check VSS providers and leftovers; Fix DAG backup conflicts; Use Windows Server Backup as a control test). 4. When the backup "succeeds" but logs don't truncate. 5. Verify the fix. 6. Prevent it next time. Toolbox: 0x800423F3, 0x800423F4, 0x800423F2, Get-MailboxDatabase, …\Replay\Parameters.1Symptoms2Why it happens3How to fix it1Capture the statefirst2Reset the writer3Check VSSproviders and left…4Fix DAG backupconflicts5Use WindowsServer Backup as…4When the backup "succeeds"but logs don't truncate5Verify the fix6Prevent it next timeTOOLBOX0x800423F30x800423F40x800423F2Get-MailboxDatabase…\Replay\ParametersHow this guide is organised: Symptoms → Why it happens → How to fix it → When the backup "succeeds" but logs don't truncate → Verify the fix → Prevent it next timeFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it (5 steps: Capture the state first; Reset the writer; Check VSS providers and leftovers; Fix DAG backup conflicts; Use Windows Server Backup as a control test). 4. When the backup "succeeds" but logs don't truncate. 5. Verify the fix. 6. Prevent it next time. Toolbox: 0x800423F3, 0x800423F4, 0x800423F2, Get-MailboxDatabase, …\Replay\Parameters.1Symptoms2Why it happens3How to fix it1Capture the state first2Reset the writer3Check VSS providers and leftovers4Fix DAG backup conflicts5Use Windows Server Backup as a control test4When the backup "succeeds" but logs don'ttruncate5Verify the fix6Prevent it next timeTOOLBOX0x800423F30x800423F40x800423F2Get-MailboxDatabase…\Replay\Parameters
At a glance: how this guide is organised · 5 fix steps · 5 key tools

Symptoms#

An elevated vssadmin list writers on the Exchange server shows the writer in a bad state:

Text
Writer name: 'Microsoft Exchange Writer'
   Writer Id: {76fe1ac4-15f7-4bcd-987e-8e1acb462fb7}
   Writer Instance Id: {...}
   State: [9] Failed
   Last error: Timed out
  • State: [1] Stable with Last error: Retryable error: the writer has reset, but the last backup failed.
  • Last error: Non-retryable error: the failure will recur until the cause is fixed.
  • State: [5] Waiting for completion long after the job ended: the backup application never finished.
  • Microsoft's BETEST tool reporting Status for writer Microsoft Exchange Writer: STABLE (0x800423f3 - VSS_E_WRITERERROR_RETRYABLE).
  • On a DAG member backing up a passive copy, this Application log error:
Text
Source: MSExchangeRepl   Event ID: 2153
The log copier was unable to communicate with server <active server FQDN>. The copy of database <database\server> is in a disconnected state.

Or quietly: the job reports success, but logs pile up and LastFullBackup never moves.

Why it happens#

Since Exchange 2013 there has been a single writer, Microsoft Exchange Writer, hosted by the Microsoft Exchange Replication service (MSExchangeRepl). It covers active and passive copies, but it's only advertised to VSS while the Information Store service (MSExchangeIS) is running too. A backup walks the writer through fixed phases, and Exchange truncates logs only after a successful full or incremental backup. The state number shows which phase broke:

StatePhase that failedLook at
[7] FailedPrepare backupAnother backup running, DAG active/passive conflict
[8] FailedPrepare snapshotVSS providers, volumes, shadow storage
[9] FailedFreezeFreeze held too long: storage or hypervisor latency
[10] FailedThawSnapshot creation took too long
[12] FailedBackup completeData copied, but logs not truncated

The last error is the verdict: Retryable error (0x800423F3) is transient, Non-retryable error (0x800423F4) will recur, and Timed out (0x800423F2) means the freeze window expired.

In a DAG, a passive-copy backup makes the Replication service query the active server for the log range and hold an RPC channel to it for the whole backup. A busy active server, a network device dropping idle sessions or security software scanning that traffic fails the job as Retryable. So does backing up the active and passive copies of one database at the same time.

How to fix it#

1. Capture the state first#

PowerShell
vssadmin list writers | Select-String -Pattern "Microsoft Exchange Writer" -Context 0,4
Get-Service MSExchangeRepl, MSExchangeIS, VSS | Format-Table Name, Status, StartType
Get-MailboxDatabase -Server $env:COMPUTERNAME -Status | Format-List Name, *Backup*

Note the state, the last error and whether BackupInProgress is still True.

2. Reset the writer#

With no job running, restart the service that hosts the writer. Replication for copies on this server pauses briefly, so do it outside the backup window:

PowerShell
Restart-Service MSExchangeRepl
vssadmin list writers

Good is State: [1] Stable and Last error: No error. If the writer is missing, check that MSExchangeIS is running. Veeam's KB2215 documents an EnableVSSWriter value under HKLM\SOFTWARE\Microsoft\ExchangeServer\v15\Replay\Parameters that some older backup products required you to disable; set it to 1 and restart the Replication service. If the state won't reset, restart the Volume Shadow Copy and COM+ Event System services, or reboot.

3. Check VSS providers and leftovers#

Command Prompt
vssadmin list providers
vssadmin list shadows
vssadmin list shadowstorage

Usually the only provider is Microsoft Software Shadow Copy provider 1.0; a SAN or agent provider must belong to the product you run today, not a retired one. Shadow copies stranded by failed jobs and full shadow storage also break snapshots; check for VSS errors in the Application log.

4. Fix DAG backup conflicts#

  • Back up passive copies, and never back up the active copy of the same database in the same window.
  • Don't switch databases over or start maintenance mode during a backup.
  • For event 2153, fix the network path: Microsoft advises a TCP KeepAliveTime shorter than the idle-session timeout of the devices in between, and longer than 15 minutes.
  • If the active server is busy or holds many logs, raise the log-range query timeout (30 seconds by default) on the server that runs the passive-copy backup:
PowerShell
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\ExchangeServer\v15\Replay\Parameters' `
  -Name QueryLogRangeTimeoutInMsec -PropertyType DWord -Value 120000
Restart-Service MSExchangeRepl

5. Use Windows Server Backup as a control test#

Windows Server Backup is Microsoft's own Exchange-aware requester (Exchange adds the WSBExchange plug-in). Pause your normal job and, on the server hosting the active copy, run a VSS full backup of the database and log volumes to a separate target. A full-server backup won't do: it's a VSS copy backup and never truncates logs (see Using Windows Server Backup with Exchange).

PowerShell
Install-WindowsFeature Windows-Server-Backup
wbadmin start backup -backupTarget:F: -include:D:,L: -vssFull -quiet

If it succeeds and logs truncate, Exchange and VSS are healthy: look at the backup product's job or agent. If it fails the same way, fix Exchange and Windows first. A VSS full backup changes the history other products rely on, so run a full backup with your normal product afterwards.

When the backup "succeeds" but logs don't truncate#

  • It was a copy backup (copy-only job setting or full-server WSB): LastCopyBackup moves, LastFullBackup doesn't.
  • A volume was left out: excluding any database or log volume (or virtual disk) blocks truncation.
  • The writer failed at backup complete ([12] Failed): Exchange never got the success notification.
  • A DAG copy holds the logs: logs go only when they're below the checkpoint, the other non-lagged copies agree and every lagged copy has inspected them; lagged copies keep theirs for ReplayLagTime plus TruncationLagTime. Microsoft also notes that Exchange 2019 keeps more logs before truncating.
PowerShell
Get-MailboxDatabaseCopyStatus * | Format-Table Name, Status, CopyQueueLength, ReplayQueueLength -AutoSize
Get-MailboxDatabase DB01 | Format-List Name, ReplayLagTimes, TruncationLagTimes
Test-ReplicationHealth

Fix unhealthy copies with high copy or replay queues or FailedAndSuspended copies; if the disk is filling, see transaction logs filling the disk.

Verify the fix#

  • The writer shows State: [1] Stable and Last error: No error before and after the next job.
  • Get-MailboxDatabase -Status | Format-List Name,*FullBackup shows today's LastFullBackup and SnapshotLastFullBackup : True.
  • Log counts drop on every copy once queues are near zero.
  • No new event 2153 or VSS errors in the backup window.

Prevent it next time#

References#

Revision history: Oct 2026 — re-checked against Microsoft Learn and the vendors' documentation: 2 corrections; 1 detail reworded or labelled as reported by admins.

Written and checked against current Microsoft Learn documentation and the vendor documentation linked in the references. Test changes with a pilot group before rolling them out to everyone, and if an admin center path has moved since, search for the setting name instead.

Spotted a mistake, or did this fix work differently for you? Email me or message me on LinkedIn — corrections are credited in the article.

Written by

Omer Eltayeb

Intune Subject Matter Expert in Cairo, Egypt, former Microsoft Cloud Solutions Architect, Microsoft Certified Trainer and Microsoft Innovative Educator Expert (2024–26) and Microsoft Elevate Educator Expert (2026–27). I share practical, step-by-step guides, study plans, scripts and toolkits for Microsoft Intune, Configuration Manager, Microsoft Entra ID, Microsoft Defender, Exchange and Microsoft 365 with the community.

Microsoft Certified Trainer (MCT) 2026Microsoft Innovative Educator Expert 2025–2026Microsoft Elevate Educator Expert 2026–2027ISC2 Certified Information Systems Security Professional (CISSP)Microsoft 365 Certified: Enterprise Administrator Expert (MS-102)