Hi Folks,
In this article we are going to cover How to Determine last database backups.
In this post we are going to discuss following points:
- Problem Statement of SQL Script:
- Description of SQL Script:
- SQL Script Output Column
- SQL Script Code
- SQL Script Output Screenshot
- User Level to execute
Problem Statement of SQL Script:
Determine last database backups.
Description of SQL Script:
The script provides information about the last backups.
SQL Script Output Column
SQL Script Code
SELECT max(isnull(datediff(dd, b.backup_start_date, getdate()), 0)) AS 'Number of Days since last backup' ,isnull(b.type, '-') AS 'Backup type (D-database,L-log, I-Diff)' ,cast(b.backup_size / (1024 * 1024) AS DECIMAL(19, 2)) 'Backup Size MB' ,d.NAME AS database_name ,convert(SYSNAME, DatabasePropertyEx(d.NAME, 'Recovery')) AS Recovery FROM master..sysdatabases d WITH (NOLOCK) LEFT JOIN msdb..backupset b WITH (NOLOCK) ON d.NAME = b. database_name AND b.type = 'D' AND b.backup_start_date = ( SELECT max(backup_start_date) FROM msdb..backupset b2 WHERE b.database_name = b2.database_name AND b2.type = 'D' ) WHERE d.NAME NOT IN ( 'tempdb' ,'model' ) GROUP BY d.NAME ,isnull(b.type, '-') ,b.backup_size UNION ALL SELECT max(isnull(datediff(dd, b.backup_start_date, getdate()), 0)) ,isnull(b.type, '-') ,cast(b.backup_size / (1024 * 1024) AS DECIMAL(19, 2)) ,d.NAME AS database_name ,convert(SYSNAME, DatabasePropertyEx(d.NAME, 'Recovery')) AS Recovery FROM master..sysdatabases d WITH (NOLOCK) JOIN msdb..backupset b WITH (NOLOCK) ON d.NAME = b. database_name AND b.type = 'L' AND b.backup_start_date = ( SELECT max(backup_start_date) FROM msdb..backupset b2 WHERE b.database_name = b2.database_name AND b2.type = 'L' ) WHERE d.NAME NOT IN ( 'tempdb' ,'model' ) GROUP BY d.NAME ,isnull(b.type, '-') ,b.backup_size UNION ALL SELECT max(isnull(datediff(dd, b.backup_start_date, getdate()), 0)) ,isnull(b.type, '-') ,cast(b.backup_size / (1024 * 1024) AS DECIMAL(19, 2)) ,d.NAME AS database_name ,convert(SYSNAME, DatabasePropertyEx(d.NAME, 'Recovery')) AS Recovery FROM master..sysdatabases d WITH (NOLOCK) JOIN msdb..backupset b WITH (NOLOCK) ON d.NAME = b. database_name AND b.type = 'I' AND b.backup_start_date = ( SELECT max(backup_start_date) FROM msdb..backupset b2 WHERE b.database_name = b2.database_name AND b2.type = 'I' ) WHERE d.NAME NOT IN ( 'tempdb' ,'model' ) GROUP BY d.NAME ,isnull(b.type, '-') ,b.backup_size ORDER BY d.NAME ,isnull(b.type, '-') -- optional GO
SQL Script Output Screenshot
User Level to execute
300
Hope you will like How to Determine last database backups.
If you really like reading my blog and understood at least few thing then please don’t forget to subscribe my blog.
If you want daily link and analysis or interesting link go to following website which will give @ your inbox please subscribe our following link resource blog :
For More information related to BI World visit my Mentalist Blog
SQL Server Mentalist >> SQL Learning Blog
Business Intelligence Mentalist >> BI World
Infographic Mentalist >> Image worth explaining thousand Words
Microsoft Mentalist >> MVC,ASP.NET, WCF & LinQ
DBA Mentalist >>Advance SQL Server Blog
Microsoft BI Mentalist >> MS BI Development Update
Connect With me on
Filed under: Link, Microsoft SQL Server, MSBI, Optimization, Query, Script, SQL Mentalist, SQL PraRup, SQL Query, SQL Server, Technology,, TSQL, Vishal Pawar Tagged: DBA, Fast SQL, Microsoft SQL Server, SQL Help, SQL Mentalist, SQL Script, SQL Server, SQL Server 2008 R2, SQL Server 2012, SQL tips, SQL Tricks, TSQL, Vishal Pawar
