sql server - log - ¿Cómo difundir tempdb en varios archivos?
tempdb sql server 2008 best practices (2)
Este blog http://blogs.msdn.com/sqlserverstorageengine/archive/2009/01/04/managing-tempdb-in-sql-server-tempdb-configuration.aspx afirma que es una buena idea "Difundir TempDB a través de menos tantos archivos de igual tamaño como CORE o CPU ".
Así que mi pregunta básica es cómo configuro mi servidor SQL para hacer eso. Entonces, ¿hago clic derecho en tempdb, elijo propiedades, archivos y luego agrego un archivo para cada CPU? ¿Cómo sabe que debería propagar el tempdb a través de estos archivos? ¿Hay una bandera que debería poner?
¿He entendido mal el artículo?
Esta sugerencia es mejor siempre que 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 y el trabajo se repartirá automáticamente en los archivos de datos de 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 obtener tres archivos adicionales (es decir, 4 núcleos de CPU y 4 discos físicos).
Soy consciente de que es bastante tarde, pero el consejo para crear un archivo por CPU es en realidad un mito que Paul Randal desmiente en su blog:
Consejo básico del artículo: If you have > 8 cores, use 8 files and if you''re seeing in-memory contention, add 4 more files at a time.