Merhabalar,
SQL server üzerinde yapacağınız çalışma öncesinde muhakkak backup alınması gerektiğini hepimiz çok iyi biliyoruz. Eğer benim gibi eğer konu özellikle data ise parayonak seviyede (yıllar içerisinde edinilen kötü tecrübeler + etrafınızda gördüğünüz case’ler bütünü) biriyseniz, çalışma öncesinde mevcut bütün database’lerin otomatik olarak backup’ını almak için aşağıdaki script’i kullanabilirsiniz. @Path kısmında belirtilen kısmı değiştirerek backup’ları istediğiniz yere çıkartabilirsiniz.
Hi,
You can safely use following query if you like to full backup for all database on SQL server before any operation on production envoriment. You will need to change the @path to the appropriate backup directory.
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 = 'C:\Backup\'
-- specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)
DECLARE db_cursor CURSOR READ_ONLY 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 + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor
