Ich hoffe, Sie können mich in die richtige Richtung weisen. Ich bin kein häufiger Benutzer von T-SQL, habe aber etwas gegoogelt und das folgende Skript gefunden. Ich habe das Skript etwas korrigiert.
Ich möchte, dass das Skript:
- Auswählen aller Datenbanken mit Ausnahme der System-DBs.
- Wiederherstellung auf einfach setzen.
- So verkleinern Sie die Protokolldateien für jede Datenbank (.ldf) mit Ausnahme der Systemdatenbank
Das Skript:
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