Script simplifiant la configuration des Bases de données

Contenu du snippet

--- SOURCE inspiré du site :
--- http://www.sqlservercentral.com/Forums/Topic1162703-391-1.aspx#bm1162705 ---
---------------------------------------
USE MASTER
declare
@isql varchar(2000),
@dbname varchar(64),
@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 <> 'SIMPLE'
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 SIMPLE'
select @isql = replace(@isql,'@dbname',@dbname)
print @isql
--exec(@isql)

select @isql='ALTER DATABASE @dbname SET PAGE_VERIFY CHECKSUM'
select @isql = replace(@isql,'@dbname',@dbname)
print @isql
--exec(@isql)

select @isql='ALTER DATABASE @dbname MODIFY FILE ( NAME = N''@logfile'', FILEGROWTH = 10240KB )'
select @isql = replace(@isql,'@logfile',@logfile)
select @isql = replace(@isql,'@dbname',@dbname)
print @isql
--exec(@isql)

select @isql='use @dbname EXEC sp_changedbowner ''sa'' '
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='USE @dbname DBCC SHRINKFILE (@logfile, 1)'
select @isql = replace(@isql,'@logfile',@logfile)
select @isql = replace(@isql,'@dbname',@dbname)
print @isql
--exec(@isql)

fetch next from c1 into @dbname, @logfile
end
close c1
deallocate c1
---------------------------------------

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.