Hogyan készítsünk gyorsan full mentést az összes adatbázisról

Vannak esetek, amikor nem kell semmi más mentés, csak full adatbázis mentés, de az minden adatbázisomról – kivéve tempdb. Az alábbi script ebben segít. Értelemszerűen a mentés utvonalát mindenki maga állítsa át:

 1USE [master];
 2GO
 3 
 4DECLARE @dbname sysname;
 5DECLARE @backupFolder varchar(255) = 'F:\Backups\';
 6DECLARE @stmt nvarchar(max);
 7 
 8DECLARE CUR CURSOR FOR
 9SELECT
10    [name]
11FROM
12    sys.databases
13WHERE
14    [database_id] <> 2
15OPEN CUR;
16FETCH NEXT FROM CUR INTO @dbname;
17WHILE @@FETCH_STATUS = 0
18    BEGIN
19        SET @stmt = 'BACKUP DATABASE ' + @dbname
20                + ' TO DISK=N''' + @backupFolder
21                + REPLACE(@@SERVERNAME, '\', '_') + '_'
22                + @dbname + '.bak'' WITH COMPRESSION, INIT, STATS';
23        PRINT @stmt;
24        EXEC(@stmt);
25        FETCH NEXT FROM CUR INTO @dbname;
26    END
27CLOSE CUR;
28DEALLOCATE CUR;