Monday, April 9, 2012

Backup toàn bộ Databases trên server

USE MASTER
GO
-- Dùng tính năng nén của SQL 2008
EXEC SP_CONFIGURE 'BACKUP COMPRESSION DEFAULT', '1'
GO
RECONFIGURE WITH OVERRIDE
GO
DECLARE @DATABASENAME SYSNAME
DECLARE @SQLCOMMAND VARCHAR(1024)
DECLARE CURDBNAME CURSOR FOR
SELECT [NAME] FROM MASTER..SYSDATABASES
WHERE [NAME] NOT IN ('TEMPDB')
OPEN CURDBNAME
FETCH CURDBNAME INTO @DATABASENAME
-- Lặp qua các databases để thực hiện lệnh backup
WHILE (@@FETCH_STATUS = 0)
BEGIN
         IF DATABASEPROPERTYEX (@DATABASENAME,'STATUS') = 'ONLINE'
         BEGIN
                 SELECT @SQLCOMMAND = 'BACKUP DATABASE [' + @DATABASENAME +
                 '] TO DISK = ''D:\BACKUPS\DATABASES\' + @DATABASENAME + '.BAK'' WITH FORMAT'
                 EXECUTE (@SQLCOMMAND)
                 PRINT @DATABASENAME + ' BACKUP COMPLETED!'
         END
         FETCH CURDBNAME INTO @DATABASENAME
END
CLOSE CURDBNAME
DEALLOCATE CURD

No comments:

Post a Comment