Espero que você possa me apontar na direção certa. Eu não sou um usuário frequente de T-SQL, mas fiz algumas pesquisas no google e encontrei o script abaixo. Corrigi um pouco o script.
Eu quero que o script:
- Para selecionar todos os bancos de dados, exceto os bancos de dados do sistema.
- Para definir a recuperação como simples.
- Para reduzir os arquivos de log para cada banco de dados (.ldf), exceto o banco de dados do sistema
O script:
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
Porque porque porque? Além disso, o que é "a direção certa"? O script não funciona? Se sim, como? Você recebeu uma mensagem de erro? O que é isso? Provavelmente precisa de um comando USE no último bloco. Mas novamente: Por que, por que, por que?
—
Aaron Bertrand
Como os arquivos .ldf ocupam 70% do espaço em disco no servidor. Mas se você souber de uma maneira melhor, por favor, me esclareça. Não sei se o script funciona, não posso simplesmente executá-lo. Tenho que ter certeza de que funciona primeiro, pois é um ambiente de produção.
—
Arviddk
Você não tem um ambiente de desenvolvimento ou teste em que pode testar isso? Sinceramente eu não iria levar nada daqui, independentemente de quem o escreveu, e aplicá-lo à produção apenas com base nas garantias de estranhos na Internet ...
—
Aaron Bertrand
@Arviddk Você sabe quais são as consequências de alterar o modelo de recuperação de FULL / BULK LOGGED para SIMPLE? Se você estiver ciente, vá em frente e faça isso.
—
BuahahaXD
Eu só queria comentar o porquê de futuros leitores que possam estar procurando fazer a mesma coisa. Costumávamos fazer backups completos do SQL com backups de logs de transações. Desde então, passamos a usar o Dell AppAssure para fazer backups, o que nos coloca em um local onde não precisamos de backups de log de transações. Agora, temos centenas de bancos de dados em vários servidores ainda definidos como cheios de terabytes de arquivos LDF sem motivo. Isso afeta os backups / restaurações, bem como outras coisas que envolvem isso, a replicação e outras coisas.
—
Thorin