Pregunta

Estoy utilizando SQL Server 2008 en Windows Server 2008. Encuentro la temperatura MDF y LDF DB Temp es muy grande (alrededor de 13 G), y es casi el mismo tamaño de todos los otros archivos de bases de datos reales de aplicación (MDF + LDF) .

Mis preguntas,

  1. ¿Qué temperatura DB se utiliza para?
  2. ¿Es normal que la temperatura situación DB es tan grande? Si no, alguna forma de temp limpieza dB sin impactar en el rendimiento y la fiabilidad del sistema?

Gracias de antemano, George

¿Fue útil?

Solución

Puede reducir el tamaño de los archivos tempdb MDF / LDF utilizando el SHRINKFILE, SHRINKDATABASE comandos DBCC.

use tempdb
go

dbcc shrinkfile (tempdev, 'target size in MB')
go

dbcc shrinkfile (templog, 'target size in MB')
go

Escribir código de una manera eficiente puede evitar el crecimiento de la tempdb. Evitar el uso de "cursores" en su código que son los principales asesinos de rendimiento y cuanto mayor sea el conjunto de datos del cursor mayor será el tamaño de la tempdb. Evitar el uso de tablas temporales cuando no fuese necesario. utilizando #temptable, ## TempTable para todo el ámbito de aplicación cuando no es requerido causará problemas de rendimiento de nuevo.

SQL 2005/2008 tiene CTE en donde usted puede consultar datos en una tabla temporal y el alcance es sólo una línea después de eso.

;With CTETable as
(
  SELECT <Columnlist> FROM <TableName> {Joins} WHERE <Condition> GROUP BY <Column List> ORDER BY <COlumn> ASC
)

SELECT ColumnList from CTETABLE
....
Statements

El alcance de esa CTEtable expira después de "SELECT ColumnList de CTETABLE" Línea. De esta manera es más eficaz. Escribir consultas eficaces también ayudaría.

Otros consejos

1: tempdb se utiliza para cosas como especie. Anythin temporal. desarrolladores estúpidos innecesariamente utilizando la sentencia DISTINCT se golpeándola parte. Además de las tablas temporales.

2: No. No son raros los casos esto puede ser el caso, pero estos son casos extremos inusuales. Tempdb limpieza .... reinicio del servidor. Tempdb está totalmente regenerada en cada inicio. A continuación, empezar a buscar las consultas que van a tempdb. Esto requerirá algún trabajo manual. Compruebe si hay cláusulas DISTINCT utilizados innecesariamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top