CloudDB

19 de dez de 20191 min

SQL Server - Listar E Depois Alterar O Recovery Model De Todos Os Bancos Para Full

/* PRIMEIRAMENTE, VAMOS LISTAR O RECOVERY MODEL DE TODOS OS BANCOS PARA SABER COMO ESTÃO, PARA ISSO USE O SCRIPT ABAIXO: */

-- LISTA O RECOVERY MODEL DE TODOS OS BANCOS

SELECT Name

, DATABASEPROPERTYEX(Name,'RECOVERY') AS [Recovery Model]

FROM master.dbo.sysdatabases

/* AGORA, PARA ALTERAR O RECOVERY MODEL DE TODOS OS SEUS BANCOS DE DADOS, COM EXCESSÃO DOS DE SISTEMA PARA FULL, É SÓ RODAR O SCRIPT ABAIXO: */

-- ALTERA O RECOVERY MODEL DE TODOS OS BANCOS PARA FULL

USE MASTER

declare

@isql varchar(2000),

@dbname varchar(128),

@logfile varchar(128) declare c1 cursor for

SELECT d.name, mf.name as logfile--, physical_name AS current_file_location, size

FROM sys.master_files mf

inner join sys.databases d

on mf.database_id = d.database_id

where recovery_model_desc <> 'FULL'

and recovery_model_desc != 'FULL'

and d.name not in ('master','model','msdb','tempdb')

and mf.type_desc = 'LOG'

open c1

fetch next from c1 into @dbname, @logfile

While @@fetch_status <> -1

begin

select @isql = 'ALTER DATABASE "' + @dbname + '" SET RECOVERY FULL'

--print @isql

exec (@isql)

fetch next from c1 into @dbname, @logfile

end

close c1

deallocate c1

    4060
    0