web-dev-qa-db-fra.com

Rétrécissement de grand fichier dB ne fonctionne pas

J'ai un fichier de base de données 5 TB (Ne vous demandez pas pourquoi) que je nettoie. J'étais déjà capable de libérer un TB et je vais se retrouver probablement à 2,5 To.

Tous les conseils de la bonne pratique de côté, je dois maintenant rétrécir ce fichier. Je suis en train d'exécuter cette déclaration:

DBCC SHRINKFILE(1,4000000)

Je peux voir que cela fait quelque chose, car il attend parfois un pageiolatch_sh et parfois pour un pageiolatch_ex. Cependant, après 24 heures de temps d'exécution, la base de données n'a pas diminué par une seule page. Habituellement, lors de l'exécution d'un fichier rétrécissant comme ce qui précède, vous pouvez voir immédiatement un impact sur la taille du fichier. Auparavant, j'ai essayé de réduire la base de données par un seul Go et que cela n'a pas non plus que la taille du fichier change du tout. Je l'ai arrêté après 24 heures.

Ce problème est allé pendant un certain temps, mais nous sommes à un moment donné que nous devons progresser, car l'espace de conduite est requis de toute urgence pour d'autres bases de données.

D'AILLEURS, DBCC CHECKDB ne trouve aucun problème avec cette base de données, ce comportement ne peut donc pas être causé par une liaison circulaire de page.

4
Sebastian Meine

Un collègue de mine avait un problème similaire-ISH avec des contractions de longue date. Il a pris du temps pour enquêter et a constaté qu'il avait beaucoup d'index à la "fin" du dossier.

Un peu de maintenance de l'index, puis l'opération de rétrécissement a fonctionné bien. Vous pouvez lire son blog ici ici: http://sqltrees.wordpress.com/2013/08/11/shrinking-databases/

1
Kev Riley