0

I found this script online for full DB backups but I was wondering how to change this to also set differential backups?

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 = 'C:\Backup\' 

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  
DEALLOCATE db_cursor
2
Contributors
1
Reply
2
Views
6 Years
Discussion Span
Last Post by BitBlt
0
<snip>
WHILE @@FETCH_STATUS = 0  
BEGIN         
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'        
BACKUP DATABASE @name TO DISK = @fileName         
WITH DIFFERENTIAL
FETCH NEXT FROM db_cursor INTO @name  
END   
</snip>

The trick is that @fileName has to already exist. How you get that filename is of course, beyond the scope of this answer. :-)

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.