Backup la multiple baze in MSSQL

Configurare noua (How To)

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

Tip solutie

Permanent
Etichetare:

Voteaza

(0 din 0 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?