2009-11-23 25 views
5

Tenemos una base de datos SQL Server 2000 que mantiene la mayoría de las bases de datos de nuestros equipos ejecutándose en un servidor relativamente antiguo.¿Cuándo compactas una base de datos de servidor Sql?

Últimamente hemos tenido algunos problemas ralentizadores raros en algunas de nuestras llamadas a bases de datos en diversas aplicaciones. (Así que sé que no es específico de la aplicación)

Me mencionaron que deberíamos estudiar la compactación de algunas de nuestras bases de datos. ¿Cuáles son algunas reglas generales para hacer esto?

¿Está compactando una base de datos que solo se considera mantenimiento general? ¿Existe un número mágico de bases de datos, tablas o registros que puedan conducir a esta desaceleración y, por lo tanto, ayudar a ser una compactación?

Número de bases de datos utilizadas de forma activa: 6

Tamaño medio de base de datos: 20 MB con la excepción de FogBugz, que está a punto 11000MB

+0

Esto puede ser más adecuado para la falla del servidor. Sin embargo, los tamaños de su base de datos son muy pequeños, en realidad. Dudo que la compactación produzca algún beneficio de rendimiento. También la compactación generalmente se hace para recuperar espacio. El rendimiento no debería verse muy afectado, si es que lo hace, si la base de datos no está compactada. – Joey

Respuesta

4

No compactar una base de datos SQL Server (que "reducir" se) a menos que realmente lo necesites. No es de MS Access y no reclamar el espacio no utilizado (bueno, que puede, pero enmascara un problema más importante)

Lo más probable es que tenga un índice/problema estadística:

  • de las estadísticas de datos
  • índices fragmentados
  • índices que faltan

Para empezar con la base de datos de ese tamaño (pequeño), sugeriría que se mira

2

En SQL Server, hay varios bits de mantenimiento que debe hacer en sus bases de datos.

10MB es una base de datos muy pequeña, por lo que no vale la pena reducir una base de datos ("compacta" es lo que harías con una base de datos de MS Access, en Sql Server puedes reducirla).

En su lugar, es mucho más probable que no tenga los índices adecuados en las columnas que se consultan con frecuencia en sus tablas. O bien, los índices que tiene están fragmentados.

Un buen lugar para comenzar es ver exactamente qué consultas llevan mucho tiempo (es una buena idea iniciar el Analizador de SQL y el monitor). Luego puede ver qué están haciendo esas consultas, a qué tablas/columnas están accediendo y luego revisar si tiene índices apropiados.

Cuestiones relacionadas