SQL - Backup for all databases

 ---------------------------------------------------
Backup for all databases in single script
----------------------------------------------------



DECLARE @name VARCHAR(50) -- database name  

DECLARE @path VARCHAR(256) -- path for backup files  

DECLARE @fileName VARCHAR(256) -- filename for backup  

DECLARE @fileDate VARCHAR(20) -- used for file name 


SET @path = 'G:\test\'  


SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) 


DECLARE db_cursor CURSOR FOR  

SELECT name 

FROM master.dbo.sysdatabases 

WHERE name NOT IN ('master','model','msdb','tempdb')  


OPEN db_cursor   

FETCH NEXT FROM db_cursor INTO @name   


WHILE @@FETCH_STATUS = 0   

BEGIN   

       SET @fileName = @path + @name + '_' + @fileDate + '.BAK'  

       BACKUP DATABASE @name TO DISK = @fileName  


       FETCH NEXT FROM db_cursor INTO @name   

END   


CLOSE db_cursor   


 ---------------------------------------------------
Recent backup for all databases
----------------------------------------------------

SELECT a.name, b.type, MAX(b.backup_finish_date) LastSuccessfulBackup,

CAST((GETDATE() - MAX(b.backup_finish_date)) AS NUMERIC(5, 2)) IntervalInDays

FROM master..sysdatabases a

LEFT OUTER JOIN msdb..backupset b ON a.name = b.database_name

GROUP BY a.name, b.type

ORDER BY a.name, b.type

Comments

Popular posts from this blog

SQL Server – How to re-initialize just a single article in transaction replication

SQL Deadlock Report - Extended Events

DBA Daily Commands in Handy