Sql server 2000 - compacter toutes les bases de données du serveur (faire un shrink)

Contenu du snippet

Dans le cadre de la préparation d'un serveur pour migrer les bases, il est très utile de compacter les bases afin de réduire le volume global des fichiers à transférer.
Voila donc un script qui vous permet d'effectuer ce travail.

Source / Exemple :


DECLARE @name sysname 
DECLARE @LaRequette varchar(8000) 
DECLARE @DateJour varchar(20) 
DECLARE @TauxEspaceLibre int

-- VALEUR A CHOISIR CONCERNANT LE TAUX D'ESPACE LIBRE VOULU
SET @TauxEspaceLibre = 10
  
SET @DateJour = REPLACE(CONVERT(VARCHAR, GetDate(), 102), '.', '_') 
PRINT '---------------------------------------------------------------------' 
PRINT '-- DATE COMPACTAGE LANCE : '+ @DateJour 
PRINT '---------------------------------------------------------------------' 
  
DECLARE TESTCURSEUR CURSOR 
   FOR SELECT Master.dbo.sysdatabases.name FROM Master.dbo.sysdatabases 
       WHERE Master.dbo.sysdatabases.name NOT IN ('tempdb', 'model', 'pubs') 
  
OPEN TESTCURSEUR 
FETCH NEXT FROM TESTCURSEUR 
INTO @name 
  
WHILE @@FETCH_STATUS = 0 
  
BEGIN 
    PRINT '' 
    PRINT '---------------------------------------------------------------------' 
    PRINT '-- COMPACTAGE EFFECTUE SUR LA BASE DE DONNEES : '+ @name 
    PRINT '---------------------------------------------------------------------' 
  
    SET @LaRequette = 'DBCC SHRINKDATABASE (['+ @name +'], '+ CONVERT(VARCHAR(10), @TauxEspaceLibre) +')'
    PRINT 'Requette : '+ @LaRequette 
    EXECUTE (@LaRequette) 
  
    PRINT '---------------------------------------------------------------------' 
  
    FETCH NEXT FROM TESTCURSEUR 
    INTO @name 
  
END 
  
CLOSE TESTCURSEUR 
DEALLOCATE TESTCURSEUR

Conclusion :


Bon coding

Romelard Fabrice [MVP]

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.