I can't explain why the older file does not get picked up earlier than the later files, given that the ORDER BY sequence should do exactly that.
There are 2 things you could try. The default settings for the copying process is to pick up the oldest 10 files every 60 seconds to copy, handled by 5 process threads.
If there is a backlog in the files, you could reduce this interval to 30 seconds, to double the number of files processed each minute. You can do this by creating a registry value named COPYTO:SleepIntervalInSeconds, a DWORD type, and give it a data value of 30. This only makes sense if SQL Backup currently takes less than 60 seconds to copy the batch of 10 files.
You could also increase the number of threads allocated to copy files. By default, 5 threads are used. You can increase this number up to 10, by creating a registry value named COPYTO:ThreadCount, a DWORD type, and give it a value between 1 and 10. Again, this only makes sense if SQL Backup currently takes less than 60 seconds to copy the batch of 10 files, and increasing the number of process threads will not overload the CPU and network resources.
Both registry values are created in the SQL Backup registry node for the SQL Server instance you want to apply the settings to i.e. HKLM\\Software\\Red Gate\\SQL Backup\\BackupSettingsGlobal\\<INSTANCE NAME>.
Once you have created the values, run the following from Management Studio on the affected SQL Server instance:
- Code: Select all
EXEC master..sqbutility 1062
and SQL Backup will use the new values, without the need to restart the SQL Backup Agent service.