2009-04-05 28 views
25

Este blog http://blogs.msdn.com/sqlserverstorageengine/archive/2009/01/04/managing-tempdb-in-sql-server-tempdb-configuration.aspx indica que es una buena idea "Difundir TempDB en al menos tantos archivos de igual tamaño que CORE o CPU".Cómo propagar tempdb en varios archivos?

Así que mi pregunta básica es cómo puedo configurar mi servidor SQL para hacer eso. ¿De modo que hago clic derecho en tempdb, selecciono propiedades, archivos y luego agrego un archivo para cada CPU? ¿Cómo sabe que debería extender el tempdb a través de estos archivos? ¿Hay una bandera que debo establecer?

¿He entendido mal el artículo?

Respuesta

38

Este consejo es mejor siempre y cuando pueda distribuir los archivos TempDB adicionales en diferentes discos duros. De lo contrario, los diferentes subprocesos que crean diferentes tablas temporales estarán en disputa por el mismo disco físico.

De hecho, puede hacer exactamente lo que dice que hacer y el trabajo se extenderá automáticamente a través de los archivos de datos TempDB. Esto también puede ser escrito como tal:

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 

para conseguir que tres archivos adicionales (es decir, 4 núcleos de CPU y 4 discos físicos).

+0

Gracias Jesse. Entonces, supongo que también puedo hacer esas declaraciones alternativas a través de la GUI. ¿Es lo mismo para cada archivo db? Si agrego un archivo extra a otra base de datos, SQL Server distribuirá automáticamente la carga sobre esos archivos. – Jimmymcnulty

+0

Así es exactamente como lo entiendo, sí. Por supuesto, si lo hace para más CPU/discos de los que tiene, los retornos disminuirán un poco. Esta es definitivamente una de esas situaciones en las que tu millaje puede variar. ¡Mida su desempeño temprano y con frecuencia! –

+0

¿Qué pasa con los archivos de registro? ¿Creamos nuevos archivos de registro para que coincidan con los nuevos archivos de datos? ¿O los archivos de registro correspondientes son creados automáticamente por SQL Server cuando es necesario? – Mark