Comprimere tutti i database tranne quelli OFFLINE

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


L'uso delle informazioni qui riportate è a Vs rischio.
Cyber Methexis declina qualsiasi responsabilità per malfunzionamenti e/o perdita di dati.


 Contenuti simili: