web-dev-qa-db-fra.com

Quelle est la différence entre Shrink Database et File?

DBCC ShrinkDatabase()
DBCC ShrinkFile()
  1. Dois-je exécuter les deux commandes DBCC afin de réduire la base de données?
  2. Quelle est la différence entre ces deux ci-dessus?
34
Jango

Simplement...

  • DBCC ShrinkDatabase(): réduire tous les fichiers
  • DBCC ShrinkFile(): un seul fichier

Par exemple, vous pouvez avoir un problème de sauvegarde de journal et il est devenu hors de contrôle, donc vous exécutez DBCC ShrinkFile().

Vous presque n'utilisez jamais ShrinkDatabase.

Avant d'envisager d'utiliser l'une ou l'autre commande, veuillez lire le blog de Paul Randal sur la réduction .

Je ne réduirais aucun des fichiers (mdf, ldf) sauf s'il y avait une raison claire. Les fichiers ont la taille qu'ils ont car ils doivent l'être. Les blogs suggérant de le faire dans le cadre d'une maintenance régulière ne comprennent probablement pas comment fonctionne SQL Server.

36
gbn

Une base de données par défaut a deux fichiers

MyDb.MDF et MyDb.LDF

Le fichier MDF est le fichier de données où réside la partition principale. En fonction de vos besoins, vous pouvez partitionner une base de données en plusieurs fichiers. Ceci est fait pour que les données (une ou plusieurs tables) puissent s'étendre plusieurs fichiers qui sont généralement placés sur des disques durs séparés pour obtenir des performances plus élevées.

Si vous réduisez une base de données, tous les fichiers associés à cette base de données seront réduits.

Si vous réduisez un fichier, seul le fichier choisi sera réduit.

Vous avez seulement besoin d'utiliser la commande Shrink Database. Mais ce n'est généralement pas une bonne pratique de le faire et ce n'est pas non plus une pratique recommandée.

Si vous nous dites quel est le problème que vous rencontrez, nous pouvons vous donner plus d'informations sur la façon de le résoudre.

2
Raj More

Très probablement, nous n'utilisons que le fichier rétractable dbcc. sp_helpdb 'databasename' fournit la liste des fichiers de données et journaux dans une base de données.

clic droit sur le studio de gestion, tâches-> rétrécir-> le fichier indique combien de% vous pouvez réduire.

quoi que nous rétrécissions, il est disponible sur le disque en tant qu'espace libre.

par exemple: utilisez le fichier de rétrécissement dbcc 'databasename' (fileid, 100)

ici 100 c'est 100 Mo

fileid peut obtenir de sp_helpdb 'nom de la base de données'

0
Gigs