Spero che tu possa indicarmi la giusta direzione. Non sono un utente frequente di T-SQL, ma ho fatto un po 'di ricerche su Google e ho trovato lo script di seguito. Ho corretto un po 'la sceneggiatura.
Voglio che la sceneggiatura:
- Per selezionare tutti i database, tranne i DB di sistema.
- Per impostare il recupero su semplice.
- Ridurre i file di registro per ogni db (.ldf), ad eccezione del db di sistema
Il copione:
USE MASTER
declare
@isql varchar(2000),
@dbname varchar(64)
declare c1 cursor for select name from master..sysdatabases where name not in ('master','model','msdb','tempdb','ReportServer','ReportServerTempDB')
open c1
fetch next from c1 into @dbname
While @@fetch_status <> -1
begin
select @isql = 'ALTER DATABASE @dbname SET RECOVERY SIMPLE'
select @isql = replace(@isql,'@dbname',@dbname)
print @isql
exec(@isql)
select @isql='USE @dbname checkpoint'
select @isql = replace(@isql,'@dbname',@dbname)
print @isql
exec(@isql)
select @isql='DBCC SHRINKFILE @dbname.ldf'
select @isql = replace(@isql,'@dbname',@dbname)
print @isql
exec(@isql)
fetch next from c1 into @dbname
end
close c1
deallocate c1