BACKUP MS SQL

Skrypt zaczerpnięty z internetu, tym razem gotowy do użycia i wykorzystania. Wykonuje kopię wszystkich baz danych lub wybranych zawierających określony ciąg znaków zmieniając odpowiednie linie do dowolnie wskazanego katalogu pod warunkiem że SMS będzie miał uprawnienia do wybranego katalogu. Skrypt jest szczególnie przydatny przy tworzeniu kopii wielu baz danych przed aktualizacją oprogramowania i w moim przypadku właśnie do tego celu jest wykorzystywany.

W skrypcie jest kilka elementów konfigurowalnych i tak wyróżniamy elementy:

-- specify database backup directory
określ katalog kopii zapasowej bazy danych

-- specify filename format
określ format nazwy pliku

-- exclude these databases
wyklucz te bazy danych lub ogranicz do baz danych zawierającą określoną nazwę

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:\Sage\Archiwum' + '\backup_'
 
-- specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) + REPLACE(CONVERT(VARCHAR(20),GETDATE(),108),':','')
 
DECLARE db_cursor CURSOR READ_ONLY FOR  
SELECT name
FROM master.dbo.sysdatabases

-- exclude these databases
WHERE name NOT IN ('master','model','msdb','tempdb')  
-- where name like '%50c%'


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
Opublikowano w BACKUP, INFORMATYKA, SKRYPT i oznaczono , .