SQL Server Backup All Databases

IF EXISTS (SELECT NAME FROM sysobjects WHERE NAME = 'BackupAllDBs' AND type = 'P')
	DROP PROCEDURE BackupAllDBs
GO
 
CREATE PROCEDURE BackupAllDBs
	@backup_location VARCHAR(256)
AS
BEGIN
 
	DECLARE @DBName VARCHAR(30)
	DECLARE @BackupFileName VARCHAR(256)
 
	IF @backup_location IS NULL OR LEN(RTRIM(@backup_location)) = 0
		SET @backup_location = 'C:/'
 
	DECLARE DBBackup_Cursor CURSOR FOR
		SELECT NAME FROM master.dbo.sysdatabases
		WHERE NAME NOT IN ('master','model','msdb','tempdb')  
 
	OPEN DBBackup_Cursor
	FETCH NEXT FROM DBBackup_Cursor INTO @DBName
 
	WHILE @@FETCH_STATUS = 0
	BEGIN
	       SET @BackupFileName = @backup_location + @DBName + '_' + CONVERT(VARCHAR(20),GETDATE(),112) + '.BAK'
	       BACKUP DATABASE @DBName TO DISK = @BackupFileName
	       FETCH NEXT FROM DBBackup_Cursor INTO @DBName
	END
 
	CLOSE DBBackup_Cursor
	DEALLOCATE DBBackup_Cursor
END
GO

Related Posts:

Tags: , ,

One Response to “SQL Server Backup All Databases”

Leave a Comment