Como reduzir o arquivo de log em todos os bancos de dados

     Aqui está uma maneira de fazer isso encolher log de transações del (arquivo .ldf) que geralmente cresce desproporcionalmente no Sql Server.

    Como reduzir o arquivo de log em todos os bancos de dados

     Para evitar repetir a instrução em cada banco de dados presente no servidor, o script subjacente funciona simultaneamente em todos os bancos de dados no servidor

    EXECUTE sp_msforeachdb 'USE?; DUMP TRANSACTION? COM NO_LOG; DECLARAR @LogLogicalName nvarchar (100); SELECT @LogLogicalName = file_name (2); DBCC SHRINKFILE (@LogLogicalName, 100); '
     sp_msforeachdb: é um procedimento armazenado da Microsoft não documentado que permite a execução de código T-SQL em todos os bancos de dados em um servidor. ?: é o nome do banco de dados retornado pelo procedimento armazenado. file_name (2): é uma função que retorna o nome lógico do arquivo de log do banco de dados. Outra solução é este outro script, que reduz o log no banco de dados por meio de um loop:  



    CREATE TABLE #TDatabases (DBName nvarchar (128), DBLogicalName nvarchar (128)) INSERT INTO #TDatabases SELECT db.name DBName, mf.name DBLogicalName FROM sys.databases db join sys.master_files mf on db.database_id = mf.database_id ONDE db.name não está em ('master', 'tempdb', 'model', 'msdb', 'distribuição') AND type_desc LIKE 'log' SET NOCOUNT ON DECLARE @VarDBLogicalName nvarchar (128) DECLARE @VarDBName nvarchar (128) DECLARE @VarRowCount int SELECT topo 1 @VarDBName = DBName, @VarDBLogicalName = DBLogicalName FROM #TDatabases SET @VarRowCount = @@ rowcount WHILE @VarRowCount <> 0 BEGIN PRINT @VarDBLogicalName EXEC ('usar' + @VarDBName + 'backup log' VarDBName + 'with no_log dbcc shrinkfile (' '' + @VarDBLogicalName + '' ', TRUNCATEONLY) WITH NO_INFOMSGS') DELETE FROM #TDatabases WHERE DBName = @VarDBName SELECT topo 1 @VarDBName = DBName, @VarDBLogicalName = DBLogicalName FROM @VarRowCount = @@ ROWCOUNT END DROP TABLE #TDatabases SET NOCOUNT OFF 



    Adicione um comentário do Como reduzir o arquivo de log em todos os bancos de dados
    Comentário enviado com sucesso! Vamos analisá-lo nas próximas horas.