Error code 30:325 Request large buffers failure on backup device

Article ID: SQL0001 From the Windows Server OS Application Event Log on the SQL Client server will return the same error. BackupVirtualDeviceSet::Initialize: Request large buffers failure on backup device 'VDISESSION'. Operating system error 0x8007000e(Not enough storage is available to complete this operation.).

Symptom

SQL backup fails with large buffer error

In the CommCell GUI the following is returned:

Error code 30:325:

Error encountered during backup. Error: [BackupVirtualDeviceSet::Initialize: Request large buffers failure on backup device 'VDISESSION'. Operating system error 0x8007000e(Not enough storage is available to complete this operation.). BACKUP DATABASE is terminating abnormally. An exception occurred while executing a Transact-SQL statement or batch.]

From the Windows Server OS Application Event Log on the SQL Client server will return the same error.

BackupVirtualDeviceSet::Initialize: Request large buffers failure on backup device 'VDISESSION'. Operating system error 0x8007000e(Not enough storage is available to complete this operation.).

The Console GUI shows a failure along with a Delay reason of.  The Client Server will also have the error in the SQLiDA.log file.

The issue revolves around SQL usage of MemToLeave area. The following Microsoft® KB article, though it references SQL 2000 specifically, is applicable across SQL versions as it applies to memory allocation for SQL backups.

"You experience slow performance when you back up the database in SQL Server …"

http://support.microsoft.com/kb/904804/en-us

Please also reference the following Microsoft blog explaining in detail SQL backup queries.

"Incorrect BufferCount data transfer option can lead to OOM condition"

http://blogs.msdn.com/b/sqlserverfaq/archive/2010/05/06/incorrect-buffercount-data-transfer-option-can-lead-to-oom-condition.aspx

Cause

This problem can occur for every backup attempt or only occur after the SQL server has been running for a long time without a recycle of services or reboot.  It can occur on all databases or only specific databases while backups complete on other ones.

The issue may occur after an SQL iDataAgent upgrade to Version 9.0 or 10.0 from Version 8.0.  In Version 8.0 the Application Read Size value had to be manually set via the registry.  For Version 9.0 and 10.0 the value is instead set on the properties of the subclient.

The operating system error code and description can be different but the main focus is the "Request large buffers failure on backup device".  When that error is returned, it means the SQL backup query does not have enough memory available to allocate the resources needed to perform the backup.

Resolution

Basic Troubleshooting

For the Upgrade issue on the properties of the SQL Subclient Application Read Size needs to be enabled with a Value of 2048. 

For the other scenarios modifying the following settings to minimums and testing for backup success is required.

Lowering the default Application Read SizeBuffer Count, and Maximum Transfer Size should allow for the backups to go through.  Performance tuning can be done after successful backups are achieved.

Note the current values of these settings.

Set these values to the minimum shown as a test

• Buffer Count - 2 

• Maximum Transfer Size - 65536 Bytes 

• Application Read Size - 64 KB 

Run a backup.

Once the test is successful, modify these settings to improve backup performance. Do not go back to the original settings as these caused the failure.