Instance üzerindeki tüm veritabanlarının backup’ını almak

Normalde backup alma işlemleri için Ola Hallengren’in script’lerini kullanmanızda fayda var. Ama bazen normal backup senaryosu dışında instance üzerindeki tüm veritabanlarının backup’ını ayrı bir yere almanız gerekebilir.

 

Aşağıdaki script yardımıyla Instance üzerindeki tempdb hariç tüm veritabanlarının backup’ını alabilirsiniz.

 

SET @path = ‘C:\Backup’  ‘taki C:\Backup yazan yere de hangi path’e backup almak istiyorsanız o path’i yazmalısınız.

 

DECLARE @name VARCHAR(50) -- veritabanı ismi  
DECLARE @path VARCHAR(256) -- backup dosyaları için path  
DECLARE @fileName VARCHAR(256) -- backup için file ismi 
DECLARE @fileDate VARCHAR(20)  --backup dosyasına eklenecek tarih


-- specify database backup directory
SET @path = 'C:\Backup'  


-- specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) 


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


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 WITH COPY_ONLY


       FETCH NEXT FROM db_cursor INTO @name   
END   


CLOSE db_cursor   
DEALLOCATE db_cursor

 

Loading

Leave Your Comment