Etiket arşivi: mssql log backup almak

MSSQL Tüm Databaselerin full+log backupını almak

Tempdb harici diğer tüm dblerin full backup ve log backuplarını almak için script generate edeceğiz. Print kısmını commentleyip exec satırını uncomment yaparak direk backup aldırabilrisiniz, ya da bu haliyle çalıştırıp çıkan backup scriptlerini çalıştırabilirsiniz.

BEGIN
DECLARE @name VARCHAR(100)
DECLARE @path VARCHAR(256)
DECLARE @fileName VARCHAR(256)
DECLARE @fileDate VARCHAR(20)
DECLARE @SQL NVARCHAR(MAX)
SET @path = 'P:\Backup\' -------Backuplar nereye alınacaksa pathini yazıyoruz
DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name not IN ('tempdb')
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '.bak'
SET @SQL = 'BACKUP DATABASE [' + @name + '] TO DISK = ' + '''' + @fileName+ '''' +' WITH INIT,COMPRESSION,STATS=5'
PRINT @SQL
--- EXEC sp_executesql @SQL
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_log.bak'
SET @SQL = 'BACKUP LOG [' + @name + '] TO DISK = ' + '''' + @fileName+ '''' +' WITH INIT,COMPRESSION,STATS=5'
PRINT @SQL
--- EXEC sp_executesql @SQL
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor
END