Optimizing Veeam SQL Transaction Log Backups with SqlTempLogPath
First of all, happy new year !! Also in 2026 we continue with our regkey of the month series.
Veeam Backup & Replication performs SQL Server transaction log backups by temporarily staging log data on disk before transferring it to the backup repository. In many environments, this staging location becomes a hidden bottleneck—causing failed jobs, disk-space exhaustion on system drives, or unnecessary performance degradation.
In this episode of "regkey of the month", I'll provide you with some more information of the hidden gem: SqlTempLogPath
We will cover internal behavior, real-world use cases, performance considerations, cluster implications, failure modes, and best-practice deployment guidance.
For Veeam Backup & Replication v12 and later, the configuration of the SQL temp log path is managed using the following specific registry key:
- Path: HKLM\SOFTWARE\Veeam\Veeam Backup and Replication
- Name:
SqlTempLogPath(REG_SZ (string)) - Default Value: Not set
SqlTempLogPath controls the temporary disk location where Veeam stores SQL Server transaction log backup files during log backup operations.
These files are staging artifacts—they exist only briefly:
- SQL Server writes the transaction log backup
- Veeam processes and transfers it to the backup repository
- The temporary file is removed
By default, Veeam automatically chooses a location. In many environments, that default behavior is sub-optimal.
Default Behavior, when the key is not set
When SqlTempLogPath is not present, Veeam follows this logic:
-
Enumerates all local volumes on the SQL Server
-
Selects the volume with the largest amount of free space
-
Uses that volume as the staging location
-
Writes the selected path back into the registry
This means the registry value may appear even if you never created it manually.
Implication
If your SQL Server has a large but slow data volume or a system drive that temporarily has the most free space, Veeam may choose a non-optimal staging location that persists indefinitely.
Reasons why you should check this:
C: Drive Exhaustion
Many SQL servers are deployed with:
- Small system partitions
- Strict OS disk usage limits
Transaction log backups can spike unexpectedly and fill the drive, especially on environments with:
- High-write Online Transaction Processing (OLTP) systems
- Systems with delayed log truncation
- Long backup intervals (large build-up of logs)
Check it when you see performance Bottlenecks
SQL log backups are write-intensive and latency-sensitive.
If Veeam stages logs on:
- Slow HDD volumes
- Shared data LUNs
- Heavily contended disks
You may see:
- More time needed for the log backup
- Increased SQL I/O wait times
- Backup jobs overlapping production timeframe
Supported deployments
Know that this regkey can be used in:
Veeam Backup & Replication (VM-level SQL backups), Veeam Agent for Windows (SQL log backups)
Cluster-Aware SQL backups, AlwaysOn Availability Groups
Some personal guidelines:
Choose your path that is:
- Local (not a network share)
- Fast (SSD or high-performance SAN)
- Large enough to absorb log spikes
- Consistent across reboots (no random driveletter assignmentsn typical on USB drives)
Do not use: UNC paths, temporary removable storage (USB drives,...), volumes managed by external cleanup tools. I personal alway try to avoid the C-drive, when full the OS will hang and the whole machine will become unresponsive.
Interesting to know:
When the path becomes unavailable or read-only, Veeam will detect this and 'fallback' ont the new most suitable volume. The value of the registry will then be overwritten. To find out which location is used, you can check the logfiles of the job. These logfile is typical located at:


