DBCC ShrinkDatabase()
DBCC ShrinkFile()
- Dois-je exécuter les deux commandes DBCC afin de réduire la base de données?
- Quelle est la différence entre ces deux ci-dessus?
DBCC ShrinkDatabase()
DBCC ShrinkFile()
Réponses:
Simplement...
DBCC ShrinkDatabase()
: réduire tous les fichiersDBCC ShrinkFile()
: juste un fichierPar exemple, vous pouvez avoir un problème de sauvegarde du journal et il est devenu incontrôlable, alors vous le lancez DBCC ShrinkFile()
.
Vous avez presque utilisez jamais ShrinkDatabase
.
Avant d’envisager l’utilisation de cette commande, veuillez lire le blog de Paul Randal sur la réduction .
Je ne voudrais réduire aucun des fichiers (mdf, ldf) à moins d'une raison claire. Les fichiers ont la taille voulue 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 le fonctionnement de SQL Server.
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. Selon 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 sur plusieurs fichiers qui sont généralement placés sur des disques durs distincts pour atteindre une performance supérieure.
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 devez uniquement utiliser la commande Réduire la base de données. Mais ce n’est généralement pas une bonne pratique et ce n’est pas non plus une pratique recommandée.
Si vous nous dites quel est le problème que vous rencontrez, nous pourrons vous donner plus d’informations sur la façon de le résoudre.
Très probablement, nous utilisons uniquement dbcc shrinkfile. sp_helpdb 'nom de la base de données' fournit la liste des fichiers de données et journaux d'une base de données.
Faites un clic droit sur le studio de gestion, tâches-> réduire-> le fichier indique le pourcentage que vous pouvez réduire.
quoi que nous réduisions, il est disponible sur le disque en tant qu’espace libre.
par exemple: utilisez 'databasename' dbcc shrinkfile (fileid, 100)
ici 100 est 100 MB
fileid peut être obtenu à partir de sp_helpdb 'databasename'