-->

Tuesday, March 11, 2008

SQL Script to Backup All Databases

Richard pointed out this out to me yesterday. This script would backup all non-system databases on a SQL Server. You can modify it to read the company names from SY01500 and backup just the dynamics and company databases if you like.

From : Simple script to backup all SQL Server databases

You will need to change the @path to the appropriate backup directory and each backup file will take on the name --  "DBnameYYYDDMM.BAK"

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

1 comment:

Anonymous said...

Thank you, quick and easy, you saved me so much time.