martedì 28 luglio 2015

Backup Sql Server con giorno della settimana nel nome file

Il seguente script permette di effettuare il backup di tutti i database non di sistema, inserendo nel nome del file il giorno della settimana. In questo modo, con una schedulazione settimanale, avremo sempre sette backup distinti.

L'unica riga da variare è quella relativa al path di destinazione del backup.


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

 
-- specify database backup directory
SET @path = 'D:\ARCHIVIO\SIGLA\BackupSQL\'  

 
-- specify filename format
SELECT @fileDate = DATEPART(DW, GETDATE()) 

 
DECLARE db_cursor CURSOR FOR  
SELECT name 
FROM master.dbo.sysdatabases 
WHERE name NOT IN ('master','model','msdb','tempdb')  -- exclude these databases

 
OPEN db_cursor   
FETCH NEXT FROM db_cursor INTO @name   

 
WHILE @@FETCH_STATUS = 0   
BEGIN   
       SET @fileName = @path + @name + '_G' + @fileDate + '.BAK'  
       BACKUP DATABASE @name TO DISK = @fileName  WITH  INIT ,
          NOUNLOAD ,
          NOSKIP ,
          NOFORMAT 

 
       FETCH NEXT FROM db_cursor INTO @name   
END   

 
CLOSE db_cursor   
DEALLOCATE db_cursor

Nessun commento:

Posta un commento