SQL Transaction Log Backup fails due to temp staging disk full (Veeam Agent for Windows)
Environment
Product: Veeam Agent for Microsoft Windows
Workload: SQL Server databases
Backup Type: SQL Transaction Log Backup (Application-aware processing)
Error Received
The following error appears during the SQL transaction log backup job:
Log backup job: Backup Job for SQL Server Transaction Log Backup
Collected SQL Server transaction logs do not match any existing database backup.
Failed to perform internal backup:
Code = 0x80040e14
Source = Microsoft OLE DB Driver 19 for SQL Server
Description = Write on "C:\ProgramData\Veeam\Endpoint\SqlLogBackup\{GUID}.bak"
failed: 112 (There is not enough space on the disk.)
Database hide_name_db Status Unprotected
Failed to perform internal backup (hide_name_db): Code = 0x80040e14 Code meaning = IDispatch error #3092 Source = Microsoft OLE DB Driver 19 for SQL Server Description = Write on "C:\ProgramData\Veeam\Endpoint\SqlLogBackup\{18aa4e5f-9ef9-45f8-ad9a-409f952f8963}.bak" failed: 112(There is not enough space on the disk.) COM error: Code: 0x80040e14
SQL Server event log also reports:
Event ID: 18210
BackupIoRequest::ReportIoError
write failure on backup device
Operating system error 112 (There is not enough space on the disk)
Initial Observation
The issue occurs during the staging phase where Veeam temporarily stores SQL transaction log backups in:
C:\ProgramData\Veeam\Endpoint\SqlLogBackup
When the staging disk (C:) becomes full, Veeam cannot complete the log backup process and the job fails.
Additional Finding
The problem was primarily associated with the SQL database:
hide_name_db
The transaction log file had grown abnormally.
SQL Log File Status
Physical log file size: 402 GB
Actual log usage: 447 MB (0.11%)
The growth occurred because the log had previously reached ~99% utilization, triggering repeated Autogrowth events configured with small increments (64 MB). Over time, this caused the physical log file to expand significantly.
Root Cause
The large transaction log caused large temporary backup files to be generated in the staging directory:
C:\ProgramData\Veeam\Endpoint\SqlLogBackup
Since the staging disk was limited in capacity, the backup process failed with OS error 112 (disk full).
Corrective Actions Implemented
SQL Server side
-
Executed a manual transaction log backup.
-
Performed a controlled SHRINK operation on the log file:
hide_name_db_log.ldf
BACKUP LOG hide_name_db
TO DISK = 'NUL';
GO
USE hide_name_db;
GO
DBCC SHRINKFILE (hide_name_db_log, 8192);
GO
New size: ~8 GB
-
Modified SQL Autogrowth configuration:
Old: 64 MB
New: 512 MB
This reduces excessive small growth events.
ALTER DATABASE hide_name_db
MODIFY FILE
(
NAME = hide_name_db_log,
FILEGROWTH = 512MB
);
GO
Veeam configuration
The SQL log handling mode was updated to:
Backup logs periodically – every 30 minutes
instead of:
Truncate logs
This ensures logs are backed up and truncated regularly.
Veeam Agent staging path workaround
Following Veeam Support guidance (KB2642), we temporarily moved the SQL log staging location to a dedicated volume:
Registry key created: HKLM\SOFTWARE\Veeam\Veeam EndPoint Backup
Value Name: SqlTempLogPath
Type: REG_SZ
Value Data: E:\VeeamSQLTemp
Services were restarted and the new path was validated.
Later, after correcting the SQL log size and configuration, this workaround was reverted.
Recommendations from Veeam Support
Support also suggested:
-
Re-enable the Agent job with Guest Processing enabled.
-
Implement Antivirus exclusions according to:
KB2034
https://www.veeam.com/kb2034
-
Verify permissions for:
C:\Windows\Temp
Ensure SYSTEM has full access.
Current Status
After correcting the SQL transaction log size and adjusting the Autogrowth configuration, the environment is currently being monitored to verify that transaction log backups complete successfully without filling the staging disk.
