Situatie
Mai jos este un script in care ne alegem bazele la care vrem sa facem backup, calea in care vrem sa facem si scriptul face backup la toate aceste baze simultan, fara sa fie nevoie sa facem backup una cate una la fiecare baza.
Solutie
DECLARE @name VARCHAR(50) — numele bazelor
DECLARE @path VARCHAR(256) — calea aferenta backupurilor
DECLARE @fileName VARCHAR(256) — nume fisier backup
DECLARE @fileDate VARCHAR(20) — parte din numele fisierul pt backup
SET @path = ‘Calea in care vrem sa facem backup’ — exemplu: D:\\Backup\
exec master.dbo.xp_create_subdir @path
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) — aici alegem formatul datei calendaristice
DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name IN
(‘DB_1′,’DB_2′,’DB_3’, ‘DB_4′,’DB_5′,’DB_6’) — aici alegem bazele la care vrem sa facem backup
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
Leave A Comment?