Допустим необходимо изменить модель восстановления некоторого количества баз данных на режим simple. В данном скрипте так же предусмотрена возможность пропуска определенных баз. И так поехали
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
-- Не стоит жадничать, так как имя БД может быть довольно длинное declare @db nvarchar(35) -- Сама команда declare @sql nvarchar(256) declare cursor_size_srv cursor for SELECT --@@SERVERNAME AS Server , name AS DBName --recovery_model_Desc AS RecoveryModel , --Compatibility_level AS CompatiblityLevel , --create_date , --state_desc FROM sys.databases where name not in ('master','msdb','model','tempdb') and recovery_model_desc = 'full' ORDER BY Name; OPEN cursor_size_srv FETCH NEXT FROM cursor_size_srv INTO @db WHILE (@@FETCH_STATUS=0) BEGIN --Что будет выполнено set @sql = 'ALTER DATABASE '+@db+' SET RECOVERY SIMPLE' --Для отладки выведем на экран print (@sql); --Если будем выполнять, то коммент убираем exec (@sql); FETCH NEXT FROM cursor_size_srv INTO @db END CLOSE cursor_size_srv DEALLOCATE cursor_size_srv |