SQLUSA.com
SQL SERVER 2008 GRAND SLAM
FREE TRIAL  CLICK HERE TO ORDER  SEARCH
SQL JOBS SQL Server Training Scripts JOB BANK
  SQL Server 2008 Training Scripts  
  SQL Server 2005 Training Scripts  
News SQL Server Articles SQL Format

How to backup all databases?

Execute the following Microsoft SQL Server T-SQL example scripts in SSMS Query Editor to create and execute a stored procedure for backup up all databases.

-- SQL Server full database backup basic syntax
BACKUP DATABASE [AdventureWorks2008] TO  DISK = N'F:\data\backup\aw8.bak'
GO
-- SQL Server full database backup with options
BACKUP DATABASE [AdventureWorks2008] TO  DISK = N'F:\data\backup\aw8.bak'
WITH NOFORMAT, NOINIT,  NAME = N'AdventureWorks2008-Full Database Backup',
SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO
------------
-- SQL Server transaction log backup basic syntax
BACKUP LOG [AdventureWorks2008] TO  DISK = N'F:\data\backup\aw8_20120201_1430.trn'
GO
------------
-- SQL Server differential backup basic syntax
BACKUP DATABASE [AdventureWorks2008] TO  DISK = N'F:\data\backup\aw8.dif'
WITH  DIFFERENTIAL
GO
------------

 

-- SQL Server backup all databases - T-SQL backup database

-- SQL cursor - T-SQL stored procedure

USE AdventureWorks;

GO

CREATE PROC sprocBackupAllDatabases

AS

  BEGIN

    DECLARE  @DatabaseName SYSNAME,

             @SQLCommand   VARCHAR(1024)

    

    DECLARE curDBName CURSOR  FOR

    SELECT [name]

    FROM   MASTER..sysdatabases

    WHERE  [name] NOT IN ('model','tempdb')

    

    OPEN curDBName

    

    FETCH  curDBName

    INTO @DatabaseName

    

    WHILE (@@FETCH_STATUS = 0)

      BEGIN

        IF databasepropertyex(@DatabaseName,'Status') = 'online'

          BEGIN

            SELECT @SQLCommand = 'backup database ' + @DatabaseName +
            ' to disk=''e:\data\backup\' + @DatabaseName + '.dmp'' with noinit'

            

            PRINT @SQLCommand

            

            EXECUTE( @SQLCommand)

          END

        

        FETCH  curDBName

        INTO @DatabaseName

      END

    

    CLOSE curDBName

    

    DEALLOCATE curDBName

  END

 

GO

 

-- Execute stored procedure

EXEC sprocBackupAllDatabases

GO

/* Partial messages

 

backup database ReportServer$SQL2008 to disk='e:\data\backup\ReportServer$SQL2008.dmp' with noinit

backup database ReportServer$SQL2008TempDB to disk='e:\data\backup\ReportServer$SQL2008TempDB.dmp' with noinit

backup database AdventureWorks to disk='e:\data\backup\AdventureWorks.dmp' with noinit

backup database AdventureWorksDW to disk='e:\data\backup\AdventureWorksDW.dmp' with noinit

backup database AdventureWorksLT to disk='e:\data\backup\AdventureWorksLT.dmp' with noinit

backup database AdventureWorks2008 to disk='e:\data\backup\AdventureWorks2008.dmp' with noinit

backup database AdventureWorksDW2008 to disk='e:\data\backup\AdventureWorksDW2008.dmp' with noinit

backup database AdventureWorksLT2008 to disk='e:\data\backup\AdventureWorksLT2008.dmp' with noinit

*/

 

Related articles:

Simple script to backup all SQL Server databases

Backup all databases on a server

http://www.sqlusa.com/bestpractices/lastdatabasebackupdate/

 

Order SQL 2008 GRAND SLAM Today!
SQLUSA.com Home Page
SQL Server Training at www.sqlusa.com.
SQL Server 2008 Video Training at www.sqlusa.com.
SQL Server 2005 Training Videos at www.sqlusa.com.
Microsoft SQL Server 2000 Training Videos at www.sqlusa.com.

FREE SQL & Business Intelligence / OLAP Short Videos on YOUTUBE.com

Microsoft Community Contributor 2011
Invest in Your SUCCESS!

Search SQLUSA FREE SQL Server Articles & FREE T-SQL Scripts


Copyright 2005-2011, SMI Corp. All Rights Reserved.

SQL Server 2012 is a program product of Microsoft Corporation.
SQL Server 2008 is a program product of Microsoft Corporation.
SQL Server 2005 is a program product of Microsoft Corporation.
SQL Server 2000 is a program product of Microsoft Corporation.