web-dev-qa-db-fra.com

Problèmes avec le fichier MDF TEMPDB de plus en plus

J'ai une question de croissance tempdb. Permettez-moi de tout préfier en donnant mes paramètres tempdb.

tempdb settings

Même sans aucune requête en cours d'exécution sur la base de données/serveur, TEMPDB ne se limite à augmenter de taille, d'abord rapidement, puis lentement sans arrêter. J'ai couru de nombreuses questions pour comprendre ce qui est en cours d'exécution, ci-dessous est le résultat de la requête ci-dessous qui m'a donné les résultats que je pourrais utiliser.

dm_db_task_space_usage

Comme on peut le voir, ils sont tous les SPID internes Y a-t-il un moyen de découvrir pourquoi Tempdb continue de croître hors de contrôle et de la mobiliser? Toute aide sur ce problème serait grandement appréciée.

--Query that returned the result set
SELECT session_id,
       SUM(internal_objects_alloc_page_count)   AS task_internal_objects_alloc_page_count,
       SUM(internal_objects_dealloc_page_count) AS task_internal_objects_dealloc_page_count
FROM   sys.dm_db_task_space_usage
GROUP  BY session_id
HAVING SUM(internal_objects_alloc_page_count) > 0 
6
nightmareivy

Basé sur les paramètres que vous avez énuméré votre TEMPDB est défini incroyablement petit à mon avis. Pour une petite instance, essayez de commencer avec un 1000MB fichier de données et a 500MB fichier journal. Puis changez votre autogrotth à 100MB pour les données et 50MB pour le journal. Puis surveiller. Si vous obtenez toujours des excroissances fréquentes, essayez de transporter vos premières tailles par X10 et votre croissance de X2 et surveillez à nouveau. TEMPDB ne fait généralement pas grandir au hasard. Quelque chose l'utilise.

Maintenant, si c'est votre PC personnel, alors peut-être essayer 100MB et 50MB respectivement, mais même alors, j'attendrais un certain niveau de croissance lorsque vous faites des choses.

Tout cela est bien sûr basé sur la quantité d'espace que vous avez pour TEMPDB. Plusieurs de mes serveurs de production ont des tempdbs de 100GB Et j'ai vu beaucoup plus grand.

2
Kenneth Fisher