Backup Database SQLServer

2

I know that to perform a backup in SQL Server just use:

BACKUP DATABASE nome_database
TO DISK = 'endereco\nome__arquivo.bak'

But does anyone know how I back up all Databases together? Each in a .bak ?

    
asked by anonymous 10.11.2014 / 21:24

1 answer

2

The script below generates one file per database in format nomedodatabase_AAAADDMM.BAK:

DECLARE @name VARCHAR(50) -- nome do database  
DECLARE @path VARCHAR(256) -- caminho em disco para os arquivos
DECLARE @fileName VARCHAR(256) -- nome do arquivo para o backup  
DECLARE @fileDate VARCHAR(20) -- data do arquivo, formato AAAADDMM


-- Especifique aqui o diretório onde os arquivos serão salvos.
SET @path = 'C:\Backup\'  


-- Aqui você pode mudar o formato da data, caso AAAADDMM não seja do seu gosto.
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')  -- não faça backup de databases do sistema


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
    
11.11.2014 / 03:48