Expériences

Expérience

Réduire la taille des bases SQL Server (pour les fainéants)

Contexte

Il arrive d’être confronté à une machine serveur de bases de données MS SQL Server ne disposant plus d’espace disque.
Dans ce cas, une solution consiste à réduire (Shrinker pour les franglais) les bases de données et leurs logs.

C’est réalisable, entre autre, par :

  1. L’interface de MS SQL Server Management Studio (base par base)
  2. Une requête SQL (massivement, mais il faut être polyglotte en SQL)
  3. Une commande PowerShell de 2 lignes (massivement, pour les fainéants comme moi)

Je vous propose donc la troisième solution…

Mode opératoire

Ici sont décrites les étapes pour effectuer l’opération de réduction sur toutes les bases de données d’une instance en PowerShell

  • Ouvrir SQL Server Management Studio.
  • Se connecter à l’instance de base de données souhaitée
  • Demander l’affichage de la console PowerShell, par un clic droit sur le nœud Bases de données (Attention : c’est très important de procéder depuis ce nœud)
  • Saisir alors les lignes de commandes suivantes :

dir | %{$_.Shrink(0, [Microsoft.SqlServer.Management.Smo.ShrinkMethod]::Default)}
dir | %{$_.LogFiles | %{$_.Shrink(0, [Microsoft.SqlServer.Management.Smo.ShrinkMethod]::Default)}}

La première ligne réduit les données
La seconde ligne réduit les logs.

Et voilà…

Nouveau commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Solve : *
11 × 1 =


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.