Exchange ServerTroubleshooting

NetBackup and Commvault with Exchange DAGs: passive copies, status 156 and VSS errors

DAG backups failing in NetBackup (status 156) or Commvault? Check the preferred server list, the passive copy and the Exchange writer, then prove which side is at fault.

Enterprise backup suites protect a database availability group by picking one copy of each database — ideally a healthy passive copy on a nearby node — and asking the Microsoft Exchange Writer on that node for a VSS snapshot. When either step goes wrong you see NetBackup status 156, Commvault jobs that complete with errors, and logs that never truncate. Here's how to read each product's clues next to Exchange's own and fix the broken side.

Errors this guide fixes

  • NetBackup status code: 156NetBackup job status / Activity Monitor
  • Completed w/ one or more errorsCommvault Job History
  • Error Code [82:128] Network receive failedCommvault job details
  • Error Code [80:36]: No more allocated streams are available.Commvault job details
  • Last error: Timed outvssadmin list writers (Exchange Writer)+1 more guide
How this guide is organised: Symptoms → Why it happens → How to fix it → Verify the fix → Key takeawaysFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it (7 steps: Identify the node that was used; Check that node from Exchange's side; Reset the writer and stop overlapping snapshots; Deal with VSS timeouts; NetBackup: preferred servers and backup status; and 2 more). 4. Verify the fix. 5. Key takeaways. Toolbox: Get-MailboxDatabaseCopyStatus, LastFullBackup, BackupInProgress, MSExchangeRepl, ReplayLagTime.1Symptoms2Why it happens3How to fix it4Verify the fix5Key takeaways1Identify thenode that was…2Check thatnode from Ex…3Reset thewriter and sto…4Deal with VSStimeouts5NetBackup:preferred ser…+2 moreTOOLBOXGet-MailboxDatabaseCopyStatusLastFullBackupBackupInProgressMSExchangeReplReplayLagTimeHow this guide is organised: Symptoms → Why it happens → How to fix it → Verify the fix → Key takeawaysFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it (7 steps: Identify the node that was used; Check that node from Exchange's side; Reset the writer and stop overlapping snapshots; Deal with VSS timeouts; NetBackup: preferred servers and backup status; and 2 more). 4. Verify the fix. 5. Key takeaways. Toolbox: Get-MailboxDatabaseCopyStatus, LastFullBackup, BackupInProgress, MSExchangeRepl, ReplayLagTime.1Symptoms2Why it happens3How to fix it1Identify the node that was used2Check that node from Exchange's side3Reset the writer and stop overlappingsnapshots4Deal with VSS timeouts5NetBackup: preferred servers and backupstatus+2 more4Verify the fix5Key takeawaysTOOLBOXGet-MailboxDatabaseCopyStatusLastFullBackupBackupInProgressMSExchangeReplReplayLagTime
At a glance: how this guide is organised · 7 fix steps · 5 key tools

Note: NetBackup is now part of Cohesity, and its guides have moved to docs.cohesity.com. NetBackup option names below follow the web UI in the current NetBackup for Microsoft Exchange Server Administrator's Guide (older versions use slightly different labels), and Commvault details come from its Exchange Database Agent documentation; check the guide for your version.

Symptoms#

NetBackup#

Text
NetBackup status code: 156
Message: snapshot error encountered

NetBackup also keeps a backup status for each DAG database on the primary server, recording which node the last attempt used and whether it succeeded (step 1 shows how to read it).

Also watch for databases skipped with a progress-log message: NetBackup's guide documents this when it can't choose a server for Passive copy only.

Commvault#

The job ends as Completed w/ one or more errors in Job History, or fails with codes such as Error Code [82:128] Network receive failed or Error Code [80:36]: No more allocated streams are available.

Exchange#

On the node that was backed up, vssadmin list writers shows the Microsoft Exchange Writer with Last error: Timed out or Retryable error, logs keep growing and LastFullBackup is days old.

Why it happens#

Both products choose a copy (NetBackup through its database backup source and preferred server list, Commvault through its DAG client), then the Exchange writer on that node freezes the database for the snapshot. Failures fall into three layers:

LayerTypical causeWhere to look
Copy selectionNo preferred server list for Passive copy only; a remote or unhealthy node chosen; a passive copy that is suspended, failed or far behindbpclient -EXDB, Get-MailboxDatabaseCopyStatus
SnapshotWriter left failed by an earlier or overlapping VSS backup; freeze too slow (storage latency, heavy I/O, WAN hop)vssadmin list writers, Application log (VSS, MSExchangeRepl)
Backup productDiscovery, stream allocation or network problemsCommvault job details and agent logs; NetBackup job details

How to fix it#

1. Identify the node that was used#

NetBackup: on the primary (formerly master) server, display the DAG backup status. -EXDB is case-sensitive.

Command Prompt
bpclient -client DAG01 -EXDB
bpclient -All -EXDB

The output lists, for each database, the node used last and the status of the last attempt, where 0 is success; the guide's topic Displaying and resetting the backup status for a Database Availability Group (DAG) covers the options. Commvault: open the job details in Job History, then the Exchange Database Agent logs in the Log Files folder of the Commvault installation on the DAG members, and the Windows Event Viewer on those members for VSS errors.

2. Check that node from Exchange's side#

PowerShell
vssadmin list writers
Test-ReplicationHealth -Identity EX02
Get-MailboxDatabaseCopyStatus -Server EX02 | Format-Table Name, Status, CopyQueueLength, ReplayQueueLength -AutoSize
Get-MailboxDatabase -Status | Format-Table Name, BackupInProgress, LastFullBackup, LastIncrementalBackup -AutoSize

Good looks like the writer at [1] Stable with No error, every Test-ReplicationHealth check Passed, the copy Healthy with queues near zero and BackupInProgress False. A broken copy is a bad backup source in any product, so fix replication first: high copy or replay queues or FailedAndSuspended copies.

3. Reset the writer and stop overlapping snapshots#

Restart MSExchangeRepl on that node (move active copies away first), confirm the writer is Stable, and make sure no hypervisor snapshot or second agent hits the server in the same window. Deeper checks: Microsoft Exchange Writer failed or retryable.

4. Deal with VSS timeouts#

  • Back up local copies: NetBackup's guide suggests a preferred server list of local servers so replicated data doesn't cross the WAN; with Commvault, back up DAG members in the same site as the backup infrastructure.
  • Keep backups away from migration batches, large mailbox moves and other heavy I/O.
  • Check volume latency, the installed VSS providers (vssadmin list providers) and, for array snapshots, the product's snapshot method.

5. NetBackup: preferred servers and backup status#

In the NetBackup web UI, the policy's Attributes tab has a Microsoft Exchange Server DAG group with the Exchange database backup source list and an Edit preferred server list option. A preferred server list is required for Passive copy only (unless a database has only an active copy), optional for Passive copy if available, or use active copy (the default), and ignored for Active copy only. Add the DAG nodes by FQDN in the order you want them used.

NetBackup reuses the last successful server when it's on the list and pushes a server that failed to the bottom; with no usable list it ranks the health of the passive copies. To steer the next backup of a database to a specific node, reset its status (lowercase -exdb here):

Command Prompt
bpclient -client DAG01 -update -exdb DB01:EX03:0:0:0

6. Commvault: read the job, not just its status#

  • Completed w/ one or more errors is the Job History status Commvault documents for Exchange Database Agent jobs that finish with errors: open the job details, find the database that failed and apply steps 2–4.
  • [80:36] is documented for backups that use an incremental storage policy: a storage policy (stream allocation) issue, not Exchange.
  • [82:128] is a network receive failure: check the path from the member to the backup infrastructure first.
  • If the DAG has no administrative access point (an IP-less DAG), confirm in Commvault's documentation that your version's DAG client supports it.

7. Make sure logs can truncate#

Logs truncate after a full or incremental backup completes through the Exchange writer, and in a DAG only once every copy has replicated and replayed them; lagged copies hold logs for their ReplayLagTime and TruncationLagTime (each up to 14 days). Copy backups never truncate.

PowerShell
Get-MailboxDatabase DB01 | Format-List Name, CircularLoggingEnabled, ReplayLagTimes, TruncationLagTimes

If the log volume is already filling, follow transaction logs filling the disk.

Verify the fix#

  • NetBackup: the job ends with status 0 and bpclient -client DAG01 -EXDB shows a last status of 0 on the node you expect.
  • Commvault: the job completes without errors and its job details list no failed databases.
  • The writer is Stable with No error before and after the job, LastFullBackup updates and log counts drop on every copy.
  • A granular restore test works — each product has its own granular recovery prerequisites, so test before you need it.

Key takeaways#

  • Status 156 and "completed with errors" are symptoms; writer state and copy health on the chosen node are usually the cause.
  • Find out which node was backed up before changing anything.
  • Prefer healthy, local passive copies and one VSS backup per server at a time.
  • Check the vendor's compatibility list before moving to Exchange Server SE or a new CU. Using Backup Exec instead? See Backup Exec and Exchange.

References#

Revision history: Oct 2026 — re-checked against Microsoft Learn and the vendors' documentation: 1 correction; 6 details 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)