2008-10-22 7 views
0

J'ai une boîte SQL Server 2005 sp2 où tempdb a 8 fichiers de données ou 5 fichiers de données selon l'endroit où vous regardez. DBCC showfilestates et sys.database_files (tous deux interrogés dans tempdb) affichent 8 fichiers de données (tempdev-tempdev8), cependant quand j'interroge sys.master_files (dans master db, qui est aussi ce que la GUI utilise), je ne vois que 5 (tempdev, tempdev5 - tempdev8). Je ne peux pas ajouter tempdev2 - tempdev4 car j'obtiens une erreur qui existe déjà et je ne peux pas redémarrer le serveur SQL de sitôt pour recréer tempdb.Incompatibilité du fichier de données SQL Server 2005 (peut-être 8 fichiers de données, peut-être 5, qui sait)

Quelqu'un sait: 1.) comment cela peut-il se produire? 2.) plus important encore, comment je peux le corriger?

Merci,

Répondre

0

La première question à se poser, pourquoi êtes-vous jouer avec tempdb? Rencontrez-vous des goulots d'étranglement à cause de tempdb?

+0

Nous avons rencontré une certaine contention et passions par quelques exercices de meilleure pratique pour tester la charge sur un serveur et selon http://msdn.microsoft.com/en-us/library/ms175527.aspx: "En tant que général, créez un fichier de données pour chaque CPU sur le serveur. " – Vendoran

0

Si vous regardez sur le disque dans le répertoire approprié, combien de fichiers voyez-vous?

+0

J'ai vu tous les 8 fichiers physiques – Vendoran

1

Il est possible qu'une vue affiche des informations périmées. Un scénario est que ces fichiers ont été supprimés de tempdb mais SQL Server n'a pas été redémarré pour supprimer ces fichiers de leurs entrées de certains du catalogue système. Et vous ne pouvez pas en ajouter de nouveaux jusqu'à ce que les anciens soient vraiment partis. Tout ce que vous faites pour tempdb (déplacer, supprimer des fichiers, etc.) nécessite généralement un redémarrage de SQL Server. J'imagine qu'ils montrent deux états différents du système et vont réconcilier l'une des instances redémarre.

Questions connexes