Tramite questo script è possibile eseguire il backup di tutti i databasi di SqlServer, meno quelli di sistema ovviamente.
DECLARE @name VARCHAR(50) -- Nome del Database
DECLARE @path VARCHAR(256) -- Cartella destinazione file di backup
DECLARE @fileName VARCHAR(256) -- Nome file di backup
DECLARE @fileDate VARCHAR(20) -- Data file di backup (accodata a @fileName)
DECLARE @SqlStatment VARCHAR(MAX) -- Statement T-SQL che esegue il backup
SET @path = 'F:\TEST\'
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)
DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb')
ORDER BY name
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT 'Elaborazione backup ' + @name + ' in corso...' + CHAR(13)
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
SET @SqlStatment = 'BACKUP DATABASE ' + @name + ' TO DISK = ''' + @fileName +
''' WITH NOFORMAT, INIT, NAME = N''' + @name + ' - Completo Database Backup''' + ', SKIP, NOREWIND, NOUNLOAD, STATS = 10'
EXEC (@SqlStatment)
PRINT CHAR(13) + 'Elaborazione backup ' + @name + ' terminata!' + CHAR(13)
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento