Иногда необходимо поменять модель восстановления всех БД на 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 |
--select * from [master].[sys].[databases] --кого пропустить ('master','tempdb','model','msdb') declare @name nvarchar(512) declare @cmd nvarchar(512) DECLARE @Cursor CURSOR SET @Cursor = CURSOR FOR select name from [master].[sys].[databases] where not name in ('master','tempdb','model','msdb') OPEN @Cursor FETCH NEXT FROM @Cursor INTO @name WHILE (@@FETCH_STATUS = 0) BEGIN print @name set @cmd = 'USE ['+@name+'] ALTER DATABASE ['+@name+'] MODIFY FILE ( NAME = N'''+@name+ '_log'', FILEGROWTH = 512MB ) ALTER DATABASE ['+@name+'] MODIFY FILE ( NAME = N'''+@name+ ''', FILEGROWTH = 512MB )' print @cmd exec (@cmd) FETCH NEXT FROM @Cursor INTO @name end |
Еще один скрипт, который меняет для всех баз модель восстановления на SIMPLE выполняет shrink для файлов транзакций