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
![]()
