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;