Merhaba arkadaşlar,
SQL Server üzerinde veri tabanı oluşturulduğunda varsayılan olarak FULL recovery modeli ile oluşturulur. Ancak kritik veri barındırmayan veri tabanlarında recovery modelin FULL olması zamanla T-Log dosyasının büyümesine sebep olur. Kritik veri barındırmayan veri tabanlarında recovery modelin SIMPLE olarak ayarlanması bu sebeple daha iyi olabilir.
Aşağıdaki kod yardımı ile sunucumuz üzerinde çalışan bütün veri tabanları SIMPLE moda ayarlanır.
USE MASTER
declare
@sql varchar(2000),
@dbname varchar(64)
declare c1 cursor for select name from master..sysdatabases where name not in ('master','model','msdb','tempdb')
open c1
fetch next from c1 into @dbname
While @@fetch_status <> -1
begin
select @sql = 'ALTER DATABASE @dbname SET RECOVERY SIMPLE'
select @sql = replace(@sql,'@dbname',@dbname)
print @sql
exec(@sql)
select @sql='USE @dbname; DBCC SHRINKFILE (N''@dbname_log'' , 0, TRUNCATEONLY)'
select @sql = replace(@sql,'@dbname',@dbname)
print @sql
exec(@sql)
fetch next from c1 into @dbname
end
close c1
deallocate c1