Sometimes I just need to backup all the dbs in a situation of moving the databases to another server. The script below is both 2000 and 2005 compatible. You might want to consider adding the COPY keyword if you are using the script in 2005. This will deal with the problem of adhoc backups breaking backup chains
You can alter the script to include system databases
--------------------------CODE START---------------------------------- 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 --------------------------CODE END-----------------------------------------------------
Republished from http://www.sqlserver-dba.com.