ACO5422E with 0x8007000e and HRESULT:0x80044722 error with Data Protection for SQL
A SQL backup may report the following sequence of messages:
ACO5436E A failure occurred on stripe number (0), rc = 428
ACO5407E The SQL server aborted the operation.
ACO5422E Received the following from the MS SQL server:
[Microsoft][ODBC SQL Server Driver][SQL Server] BackupVirtualDeviceSet::SetBufferParms: Request large buffers failure on backup device 'TDPSQL-00001B98-0000'. Operating system error 0x8007000e(Not enough storage is available to complete this operation.).
[Microsoft][ODBC SQL Server Driver][SQL Server] A nonrecoverable I/O error occurred on file "TDPSQL-00001B98-0000:" 995 (The I/O operation has been aborted because of either a thread exit or an application request.).
[Microsoft][ODBC SQL Server Driver][SQL Server] BACKUP DATABASE is terminating abnormally. Microsoft SQL-DMO (ODBC SQLState: 42000) (HRESULT:0x80044722)
This is due to either a hard limit of the OS (32bit architecture) or the operating system has insufficient resources to handle the request from the Data Protection client.
Resolving the problem
If the OS is using 32bit architecture, consider upgrading to 64bit. This will allow SQL to leverage an increased pool for resources that Windows allows in 64bit environments.
If already at a 64bit environment, or unable to upgrade, then reducing the resources that the Data Protecton client uses may be beneficial. By default Data Protection for SQL will pass a value of 0 for the sqlbuffers options. This allows SQL to determine how many buffers it needs for processing. With a default buffer size of 1024Kb this could be consuming too much memory.
Setting the sqlbuffersize to a value other than 0 can correct this behavior. Recommendation is to set it equal to the buffers option, which defaults to 3. For example in the tdpsql.cfg file set:
Additional reductions to the sqlbuffers/buffers may be needed to work past this failure.
Restarting the system will also free up resources. If restarts resolve the errors, but the behavior reoccurs thereafter, then something is consuming resources on the system that should be investigated with Microsoft assistance.