descrizione
Il seguente script SQL permette di comprimere tutti i database...
è possibile schedularlo o eseguirlo direttamente con l'applicazione SQL Query Analyzer.
script
DECLARE @name AS char(50)
DECLARE @prog AS int
DECLARE @STATUS varchar(20)
DECLARE @max_dbid AS int
SET @prog = 1
SET @max_dbid = (SELECT MAX(dbid) FROM sysdatabases)
WHILE (@prog <= @max_dbid)
BEGIN
SET @name = (SELECT name FROM sysdatabases WHERE dbid = @prog)
SET @STATUS = convert(varchar(20),(SELECT DATABASEPROPERTYEX(@name, 'Status')))
IF @STATUS='ONLINE'
begin
BACKUP LOG @name WITH TRUNCATE_ONLY
DBCC SHRINKDATABASE(@name) WITH NO_INFOMSGS
print @name + ' Compressed - Status: ' + @STATUS
end
IF @STATUS='OFFLINE'
begin
print 'Impossible to compress ' + @name + ' because of - Status: ' + @STATUS
end
SET @prog = (@prog + 1)
END
versione
1.0

