Restores of large Microsoft SQL server databases using the NetBackup for Microsoft SQL Server database agent fail before jobs start reading data from storage
Problem
Restores of large Microsoft SQL server databases using the NetBackup for Microsoft SQL Server database agent fail before jobs start reading data from storage.
Error Message
Status Code 41: network connection timed out
Cause
With Microsoft SQL server, the restore process starts by having SQL Server allocate all of the data files that will be used for the SQL Database. SQL Server then writes zeroes to all of these files. If this is a very large SQL database, this process can take a significant amount of time. Only after Microsoft SQL Server finishes writing zeros will it start requesting data from the NetBackup database agent. Generally there is no appearance of activity until Microsoft SQL Server is ready to start requesting data to recover the SQL database.
If the NetBackup "Client Read Timeout" for that client is not large enough, the restore processes will have already timed out before the SQL Server requests the first byte of data.
For example, with a 2.4 terabyte SQL database, if the SQL server can write the zeroes at 60MBps, it will take at least 12 hours to zero out the database files. In this example, the Client Read Timeout for the client with the SQL database would need to be set to at least 16 hours, and probably more, to make sure that the SQL database had sufficient time to zero out the files.
Solution
In general, the Client Read Timeout value can be set to twice the time required for the backup, and the restore should succeed. If the backup took two hours, set the Client Read Timeout value to four hours (14400 seconds).