Resolved: Long running log backups because service sits idle
swelsh
Posts: 13
We are having an issue after upgrading from 6.5 to 7.6 where our transaction log backups are now taking significantly longer because the SQL Backup service just sits idle for anywhere from 20 seconds to around 5 minutes before starting the next backup. This is when there are no other backups running.
Here you can see it sitting for about 20 seconds:
And then here this one just sat for around 5 minutes.
We're backing up around 80 databases, and previously the job would complete in about 15-20 minutes, and now it is taking close to an hour.
Here you can see it sitting for about 20 seconds:
2/13/2014 2:40:02 PM: Backing up ALMIS48_23 (transaction log) to:
2/13/2014 2:40:02 PM: I:\MSSQL\LogShip\Stage\\LOG_SCSQLPVOS0800_ALMIS48_23_20140213_144002.sqb
2/13/2014 2:40:03 PM: BACKUP LOG [ALMIS48_23] TO VIRTUAL_DEVICE = 'SQLBACKUP_DB0A0DE2-B228-40A5-8147-1A031B8805A3', VIRTUAL_DEVICE = 'SQLBACKUP_DB0A0DE2-B228-40A5-8147-1A031B8805A301', VIRTUAL_DEVICE = 'SQLBACKUP_DB0A0DE2-B228-40A5-8147-1A031B8805A302', VIRTUAL_DEVICE = 'SQLBACKUP_DB0A0DE2-B228-40A5-8147-1A031B8805A303', VIRTUAL_DEVICE = 'SQLBACKUP_DB0A0DE2-B228-40A5-8147-1A031B8805A304', VIRTUAL_DEVICE = 'SQLBACKUP_DB0A0DE2-B228-40A5-8147-1A031B8805A305', VIRTUAL_DEVICE = 'SQLBACKUP_DB0A0DE2-B228-40A5-8147-1A031B8805A306', VIRTUAL_DEVICE = 'SQLBACKUP_DB0A0DE2-B228-40A5-8147-1A031B8805A307' WITH BUFFERCOUNT = 32, BLOCKSIZE = 65536, MAXTRANSFERSIZE = 1048576, NAME = N'Database (ALMIS48_23), 2/13/2014 2:40:02 PM', DESCRIPTION = N'Backup on 2/13/2014 2:40:02 PM Server: SCSQLPVOS0800 Database: ALMIS48_23', FORMAT
2/13/2014 2:40:03 PM: Backup data size : 8.125 MB
2/13/2014 2:40:03 PM: Compressed data size: 155.000 KB
2/13/2014 2:40:03 PM: Compression rate : 98.14%
2/13/2014 2:40:03 PM: Processed 2 pages for database 'ALMIS48_23', file 'ALMIS48_23_Log' on file 1.
2/13/2014 2:40:03 PM: BACKUP LOG successfully processed 2 pages in 0.171 seconds (0.051 MB/sec).
2/13/2014 2:40:21 PM: Backing up msdb (transaction log) to:
2/13/2014 2:40:21 PM: I:\MSSQL\LogShip\Stage\\LOG_SCSQLPVOS0800_msdb_20140213_144021.sqb
2/13/2014 2:40:21 PM: BACKUP LOG [msdb] TO VIRTUAL_DEVICE = 'SQLBACKUP_395E6B1A-16C5-40C0-B905-E662B75D8619', VIRTUAL_DEVICE = 'SQLBACKUP_395E6B1A-16C5-40C0-B905-E662B75D861901', VIRTUAL_DEVICE = 'SQLBACKUP_395E6B1A-16C5-40C0-B905-E662B75D861902', VIRTUAL_DEVICE = 'SQLBACKUP_395E6B1A-16C5-40C0-B905-E662B75D861903', VIRTUAL_DEVICE = 'SQLBACKUP_395E6B1A-16C5-40C0-B905-E662B75D861904', VIRTUAL_DEVICE = 'SQLBACKUP_395E6B1A-16C5-40C0-B905-E662B75D861905', VIRTUAL_DEVICE = 'SQLBACKUP_395E6B1A-16C5-40C0-B905-E662B75D861906', VIRTUAL_DEVICE = 'SQLBACKUP_395E6B1A-16C5-40C0-B905-E662B75D861907' WITH BUFFERCOUNT = 32, BLOCKSIZE = 65536, MAXTRANSFERSIZE = 1048576, NAME = N'Database (msdb), 2/13/2014 2:40:21 PM', DESCRIPTION = N'Backup on 2/13/2014 2:40:21 PM Server: SCSQLPVOS0800 Database: msdb', FORMAT
2/13/2014 2:40:22 PM: Backup data size : 17.625 MB
2/13/2014 2:40:22 PM: Compressed data size: 2.990 MB
2/13/2014 2:40:22 PM: Compression rate : 83.03%
2/13/2014 2:40:22 PM: Processed 1279 pages for database 'msdb', file 'MSDBLog' on file 1.
2/13/2014 2:40:22 PM: BACKUP LOG successfully processed 1279 pages in 0.113 seconds (88.383 MB/sec).
2/13/2014 2:40:40 PM: Backing up VLMI08000000 (transaction log) to:
2/13/2014 2:40:40 PM: I:\MSSQL\LogShip\Stage\\LOG_SCSQLPVOS0800_VLMI08000000_20140213_144040.sqb
2/13/2014 2:40:40 PM: BACKUP LOG [VLMI08000000] TO VIRTUAL_DEVICE = 'SQLBACKUP_6BDA1579-0E22-4343-9EE5-E35F9227CD25', VIRTUAL_DEVICE = 'SQLBACKUP_6BDA1579-0E22-4343-9EE5-E35F9227CD2501', VIRTUAL_DEVICE = 'SQLBACKUP_6BDA1579-0E22-4343-9EE5-E35F9227CD2502', VIRTUAL_DEVICE = 'SQLBACKUP_6BDA1579-0E22-4343-9EE5-E35F9227CD2503', VIRTUAL_DEVICE = 'SQLBACKUP_6BDA1579-0E22-4343-9EE5-E35F9227CD2504', VIRTUAL_DEVICE = 'SQLBACKUP_6BDA1579-0E22-4343-9EE5-E35F9227CD2505', VIRTUAL_DEVICE = 'SQLBACKUP_6BDA1579-0E22-4343-9EE5-E35F9227CD2506', VIRTUAL_DEVICE = 'SQLBACKUP_6BDA1579-0E22-4343-9EE5-E35F9227CD2507' WITH BUFFERCOUNT = 32, BLOCKSIZE = 65536, MAXTRANSFERSIZE = 1048576, NAME = N'Database (VLMI08000000), 2/13/2014 2:40:40 PM', DESCRIPTION = N'Backup on 2/13/2014 2:40:40 PM Server: SCSQLPVOS0800 Database: VLMI08000000', FORMAT
2/13/2014 2:40:42 PM: Backup data size : 8.938 MB
2/13/2014 2:40:42 PM: Compressed data size: 796.500 KB
2/13/2014 2:40:42 PM: Compression rate : 91.30%
2/13/2014 2:40:42 PM: Processed 310 pages for database 'VLMI08000000', file 'VLMI08000000_Log' on file 1.
2/13/2014 2:40:42 PM: BACKUP LOG successfully processed 310 pages in 0.147 seconds (16.425 MB/sec).
2/13/2014 2:41:06 PM: Backing up VLMI08000000_objects (transaction log) to:
2/13/2014 2:41:06 PM: I:\MSSQL\LogShip\Stage\\LOG_SCSQLPVOS0800_VLMI08000000_objects_20140213_144106.sqb
2/13/2014 2:41:06 PM: BACKUP LOG [VLMI08000000_objects] TO VIRTUAL_DEVICE = 'SQLBACKUP_EA6092B6-F7B5-453B-891B-7682AFC87D4C', VIRTUAL_DEVICE = 'SQLBACKUP_EA6092B6-F7B5-453B-891B-7682AFC87D4C01', VIRTUAL_DEVICE = 'SQLBACKUP_EA6092B6-F7B5-453B-891B-7682AFC87D4C02', VIRTUAL_DEVICE = 'SQLBACKUP_EA6092B6-F7B5-453B-891B-7682AFC87D4C03', VIRTUAL_DEVICE = 'SQLBACKUP_EA6092B6-F7B5-453B-891B-7682AFC87D4C04', VIRTUAL_DEVICE = 'SQLBACKUP_EA6092B6-F7B5-453B-891B-7682AFC87D4C05', VIRTUAL_DEVICE = 'SQLBACKUP_EA6092B6-F7B5-453B-891B-7682AFC87D4C06', VIRTUAL_DEVICE = 'SQLBACKUP_EA6092B6-F7B5-453B-891B-7682AFC87D4C07' WITH BUFFERCOUNT = 32, BLOCKSIZE = 65536, MAXTRANSFERSIZE = 1048576, NAME = N'Database (VLMI08000000_objects), 2/13/2014 2:41:06 PM', DESCRIPTION = N'Backup on 2/13/2014 2:41:06 PM Server: SCSQLPVOS0800 Database: VLMI08000000_objects', FORMAT
2/13/2014 2:41:06 PM: Backup data size : 4.000 MB
2/13/2014 2:41:06 PM: Compressed data size: 18.500 KB
2/13/2014 2:41:06 PM: Compression rate : 99.55%
2/13/2014 2:41:06 PM: Processed 0 pages for database 'VLMI08000000_objects', file 'VLMI08000000_objects_Log' on file 1.
2/13/2014 2:41:06 PM: BACKUP LOG successfully processed 0 pages in 0.013 seconds (0.000 MB/sec).
2/13/2014 2:41:26 PM: Backing up VLMI15000000 (transaction log) to:
2/13/2014 2:41:26 PM: I:\MSSQL\LogShip\Stage\\LOG_SCSQLPVOS0800_VLMI15000000_20140213_144126.sqb
2/13/2014 2:41:26 PM: BACKUP LOG [VLMI15000000] TO VIRTUAL_DEVICE = 'SQLBACKUP_5597AA3F-284D-4BE7-A456-51F5478C5ADC', VIRTUAL_DEVICE = 'SQLBACKUP_5597AA3F-284D-4BE7-A456-51F5478C5ADC01', VIRTUAL_DEVICE = 'SQLBACKUP_5597AA3F-284D-4BE7-A456-51F5478C5ADC02', VIRTUAL_DEVICE = 'SQLBACKUP_5597AA3F-284D-4BE7-A456-51F5478C5ADC03', VIRTUAL_DEVICE = 'SQLBACKUP_5597AA3F-284D-4BE7-A456-51F5478C5ADC04', VIRTUAL_DEVICE = 'SQLBACKUP_5597AA3F-284D-4BE7-A456-51F5478C5ADC05', VIRTUAL_DEVICE = 'SQLBACKUP_5597AA3F-284D-4BE7-A456-51F5478C5ADC06', VIRTUAL_DEVICE = 'SQLBACKUP_5597AA3F-284D-4BE7-A456-51F5478C5ADC07' WITH BUFFERCOUNT = 32, BLOCKSIZE = 65536, MAXTRANSFERSIZE = 1048576, NAME = N'Database (VLMI15000000), 2/13/2014 2:41:26 PM', DESCRIPTION = N'Backup on 2/13/2014 2:41:26 PM Server: SCSQLPVOS0800 Database: VLMI15000000', FORMAT
2/13/2014 2:41:26 PM: Backup data size : 4.375 MB
2/13/2014 2:41:26 PM: Compressed data size: 65.000 KB
2/13/2014 2:41:26 PM: Compression rate : 98.55%
2/13/2014 2:41:26 PM: Processed 18 pages for database 'VLMI15000000', file 'VLMI15000000_Log' on file 1.
2/13/2014 2:41:26 PM: BACKUP LOG successfully processed 18 pages in 0.021 seconds (6.463 MB/sec).
2/13/2014 2:41:47 PM: Backing up VLMI15000000_objects (transaction log) to:
2/13/2014 2:41:47 PM: I:\MSSQL\LogShip\Stage\\LOG_SCSQLPVOS0800_VLMI15000000_objects_20140213_144147.sqb
2/13/2014 2:41:48 PM: BACKUP LOG [VLMI15000000_objects] TO VIRTUAL_DEVICE = 'SQLBACKUP_60E9C5DE-33A5-4414-99D8-3DDEC109CB39', VIRTUAL_DEVICE = 'SQLBACKUP_60E9C5DE-33A5-4414-99D8-3DDEC109CB3901', VIRTUAL_DEVICE = 'SQLBACKUP_60E9C5DE-33A5-4414-99D8-3DDEC109CB3902', VIRTUAL_DEVICE = 'SQLBACKUP_60E9C5DE-33A5-4414-99D8-3DDEC109CB3903', VIRTUAL_DEVICE = 'SQLBACKUP_60E9C5DE-33A5-4414-99D8-3DDEC109CB3904', VIRTUAL_DEVICE = 'SQLBACKUP_60E9C5DE-33A5-4414-99D8-3DDEC109CB3905', VIRTUAL_DEVICE = 'SQLBACKUP_60E9C5DE-33A5-4414-99D8-3DDEC109CB3906', VIRTUAL_DEVICE = 'SQLBACKUP_60E9C5DE-33A5-4414-99D8-3DDEC109CB3907' WITH BUFFERCOUNT = 32, BLOCKSIZE = 65536, MAXTRANSFERSIZE = 1048576, NAME = N'Database (VLMI15000000_objects), 2/13/2014 2:41:47 PM', DESCRIPTION = N'Backup on 2/13/2014 2:41:47 PM Server: SCSQLPVOS0800 Database: VLMI15000000_objects', FORMAT
2/13/2014 2:41:48 PM: Backup data size : 4.000 MB
2/13/2014 2:41:48 PM: Compressed data size: 20.000 KB
2/13/2014 2:41:48 PM: Compression rate : 99.51%
2/13/2014 2:41:48 PM: Processed 0 pages for database 'VLMI15000000_objects', file 'VLMI15000000_objects_Log' on file 1.
2/13/2014 2:41:48 PM: BACKUP LOG successfully processed 0 pages in 0.012 seconds (0.000 MB/sec).
And then here this one just sat for around 5 minutes.
2/13/2014 2:43:08 PM: Backing up VOS06000037_objects (transaction log) to:
2/13/2014 2:43:08 PM: I:\MSSQL\LogShip\Stage\\LOG_SCSQLPVOS0800_VOS06000037_objects_20140213_144308.sqb
2/13/2014 2:43:08 PM: BACKUP LOG [VOS06000037_objects] TO VIRTUAL_DEVICE = 'SQLBACKUP_5FF6A99E-0A5C-4BC7-AE85-D55C1E686FC9', VIRTUAL_DEVICE = 'SQLBACKUP_5FF6A99E-0A5C-4BC7-AE85-D55C1E686FC901', VIRTUAL_DEVICE = 'SQLBACKUP_5FF6A99E-0A5C-4BC7-AE85-D55C1E686FC902', VIRTUAL_DEVICE = 'SQLBACKUP_5FF6A99E-0A5C-4BC7-AE85-D55C1E686FC903', VIRTUAL_DEVICE = 'SQLBACKUP_5FF6A99E-0A5C-4BC7-AE85-D55C1E686FC904', VIRTUAL_DEVICE = 'SQLBACKUP_5FF6A99E-0A5C-4BC7-AE85-D55C1E686FC905', VIRTUAL_DEVICE = 'SQLBACKUP_5FF6A99E-0A5C-4BC7-AE85-D55C1E686FC906', VIRTUAL_DEVICE = 'SQLBACKUP_5FF6A99E-0A5C-4BC7-AE85-D55C1E686FC907' WITH BUFFERCOUNT = 32, BLOCKSIZE = 65536, MAXTRANSFERSIZE = 1048576, NAME = N'Database (VOS06000037_objects), 2/13/2014 2:43:08 PM', DESCRIPTION = N'Backup on 2/13/2014 2:43:08 PM Server: SCSQLPVOS0800 Database: VOS06000037_objects', FORMAT
2/13/2014 2:43:08 PM: Backup data size : 4.125 MB
2/13/2014 2:43:08 PM: Compressed data size: 24.000 KB
2/13/2014 2:43:08 PM: Compression rate : 99.43%
2/13/2014 2:43:08 PM: Processed 2 pages for database 'VOS06000037_objects', file 'VOS06000037_objects_Log' on file 1.
2/13/2014 2:43:08 PM: BACKUP LOG successfully processed 2 pages in 0.022 seconds (0.488 MB/sec).
2/13/2014 2:48:47 PM: Backing up VOS06000039_objects (transaction log) to:
2/13/2014 2:48:47 PM: I:\MSSQL\LogShip\Stage\\LOG_SCSQLPVOS0800_VOS06000039_objects_20140213_144847.sqb
2/13/2014 2:48:47 PM: BACKUP LOG [VOS06000039_objects] TO VIRTUAL_DEVICE = 'SQLBACKUP_F9C14C12-06AF-4E17-BE1A-5739B9649162', VIRTUAL_DEVICE = 'SQLBACKUP_F9C14C12-06AF-4E17-BE1A-5739B964916201', VIRTUAL_DEVICE = 'SQLBACKUP_F9C14C12-06AF-4E17-BE1A-5739B964916202', VIRTUAL_DEVICE = 'SQLBACKUP_F9C14C12-06AF-4E17-BE1A-5739B964916203', VIRTUAL_DEVICE = 'SQLBACKUP_F9C14C12-06AF-4E17-BE1A-5739B964916204', VIRTUAL_DEVICE = 'SQLBACKUP_F9C14C12-06AF-4E17-BE1A-5739B964916205', VIRTUAL_DEVICE = 'SQLBACKUP_F9C14C12-06AF-4E17-BE1A-5739B964916206', VIRTUAL_DEVICE = 'SQLBACKUP_F9C14C12-06AF-4E17-BE1A-5739B964916207' WITH BUFFERCOUNT = 32, BLOCKSIZE = 65536, MAXTRANSFERSIZE = 1048576, NAME = N'Database (VOS06000039_objects), 2/13/2014 2:48:47 PM', DESCRIPTION = N'Backup on 2/13/2014 2:48:47 PM Server: SCSQLPVOS0800 Database: VOS06000039_objects', FORMAT
2/13/2014 2:48:47 PM: Backup data size : 4.125 MB
2/13/2014 2:48:47 PM: Compressed data size: 20.500 KB
2/13/2014 2:48:47 PM: Compression rate : 99.51%
2/13/2014 2:48:47 PM: Processed 1 pages for database 'VOS06000039_objects', file 'VOS06000039_objects_Log' on file 1.
2/13/2014 2:48:47 PM: BACKUP LOG successfully processed 1 pages in 0.036 seconds (0.203 MB/sec).
We're backing up around 80 databases, and previously the job would complete in about 15-20 minutes, and now it is taking close to an hour.
Comments
SQL Backup Consultant Developer
Associate, Yohz Software
Beyond compression - SQL Backup goodies under the hood, updated for version 8
It was running the command above in a cursor for one database at a time instead of a list, it doesn't change the long running behavior.
We are running the same thing on 4 other servers and it is functioning just fine. This is the only server with such a large number databases receiving log backups though (83 databases), the next closest server is 54 databases and finishes in less than 2 minutes for most runs, even during heavy load.
Windows Server 2008 R2 SP1 x64
Clustered install of SQL Server 2008 R2 SP1 x64
DBCC TRACEON(3605, 3004, 3014, 3213, -1)
Once the next backup job has completed after you turned on the trace flags, could you please send me the SQL Server error log, together with the SQL Backup backup log, so that I can check the sequence of events on both sides of the backup process? Please send the files to peter.yeoh@red-gate.com.
You can then turn off the trace flags i.e.
DBCC TRACEOFF(3605, 3004, 3014, 3213, -1)
SQL Backup Consultant Developer
Associate, Yohz Software
Beyond compression - SQL Backup goodies under the hood, updated for version 8
In case anyone else has a similar issue, this is how we resolved it:
To resolve the long running query, I had to cleanup the backup history tables in msdb. backupmediafamily was over 18 million records which is what was causing the slowdown.
Take away: Make sure you either enable the msdb history cleanup in SQL Backup, or run your own maintenance job to prevent the tables from growing too large.