2009-04-05 9 views
25

Ce blog http://blogs.msdn.com/sqlserverstorageengine/archive/2009/01/04/managing-tempdb-in-sql-server-tempdb-configuration.aspx indique qu'il est judicieux de "répartir TempDB sur au moins autant de fichiers de taille égale que de CORE ou de CPU". Donc, ma question fondamentale est de savoir comment configurer mon serveur SQL pour le faire. Donc, je fais un clic droit sur le tempdb, choisissez les propriétés, les fichiers et ensuite ajouter un fichier pour chaque CPU? Comment sait-il qu'il devrait étendre le tempdb à travers ces fichiers? Y a-t-il un drapeau que je devrais mettre?Comment diffuser tempdb sur plusieurs fichiers?

Ai-je mal compris l'article?

Répondre

38

Cette astuce est la meilleure tant que vous pouvez répartir les fichiers TempDB supplémentaires sur différents disques durs. Sinon, les différents threads qui créent des tables temporaires différentes seront en conflit pour le même disque physique.

Vous pouvez en effet faire exactement ce que vous dites et le travail sera automatiquement réparti dans les fichiers de données TempDB. Cela peut aussi être scénarisé comme tel:

ALTER DATABASE tempdb 
ADD FILE (NAME = tempdev2, FILENAME = 'W:\tempdb2.mdf', SIZE = 256); 
ALTER DATABASE tempdb 
ADD FILE (NAME = tempdev3, FILENAME = 'X:\tempdb3.mdf', SIZE = 256); 
ALTER DATABASE tempdb 
ADD FILE (NAME = tempdev4, FILENAME = 'Y:\tempdb4.mdf', SIZE = 256); 
GO 

vous obtenez trois fichiers supplémentaires (à savoir 4 cœurs de processeur et 4 disques physiques).

+0

Merci Jesse. Donc, je suppose que je peux aussi faire ces déclarations à travers l'interface graphique. Est-ce la même chose pour tous les fichiers db? Si j'ajoute un fichier supplémentaire à une autre base de données, SQL Server répartit automatiquement la charge sur ces fichiers? – Jimmymcnulty

+0

C'est exactement comme ça que je le comprends, oui. Bien sûr, si vous le faites pour plus de CPU/disques que vous avez, les rendements diminueront quelque peu. C'est certainement l'une de ces situations qui peuvent varier. Mesurez votre performance tôt et souvent! –

+0

Qu'en est-il des fichiers journaux? Est-ce que nous créons de nouveaux fichiers journaux pour correspondre aux nouveaux fichiers de données? Ou les fichiers journaux correspondants sont-ils créés automatiquement par SQL Server en tant que de besoin? – Mark

Questions connexes