Los archivos de datos de nuestra base de datos de producción SQL Server 2005 viven en una unidad física separada, que la herramienta Desfragmentador de disco de Microsoft Windows 2003 informa como 99% fragmentada.
Programamos una tarea para desfragmentar esta unidad a las 3:00 a.m. de un sábado por la mañana. El trabajo se completó después de 40 minutos sin errores aparentes. Sin embargo, el disco sigue muy fragmentado.
¿Deberíamos haber detenido los servicios de SQL Server antes de la desfragmentación?
CONTEXTO
Según las solicitudes de contexto: tenemos una instancia de Microsoft SQL Server 2005 (9.00.5324.00) que ejecuta Windows Server 2003 (SP2) de 32 bits en el hardware Dell PowerEdge 2950, alrededor del año 2007, con 4 GB de RAM. El PowerEdge 2950 tiene cuatro unidades de 68 GB configuradas como RAID-1 para crear dos discos virtuales de 68 GB: (1) C (arranque y sistema operativo) y D (archivo de paginación, otros datos varios); y (2) E (datos SQL). Que yo sepa, el personal de TI nunca ha desfragmentado ninguna de estas unidades ... El Desfragmentador de disco informa una fragmentación de archivos del 66% (C), 77% (D) y 99% (E). El Monitor de rendimiento informa los siguientes resultados promedio: "Archivo de paginación:% de uso" = ~ 6.8% ; "SQL Server: Administrador de búfer - Esperanza de vida de la página" = 20 segundos ; y "PhysicalDisk: Promedio de disco seg / escritura, unidad E" = entre 300 y 1,. Nos esperan una actualización muy necesaria de hardware y SQL Server en unos meses (a saber, nuevo hardware, Windows Server 2012 de 64 bits, SQL Server 2012 de 64 bits, 12 GB de RAM), pero, debido al final, rendimiento del usuario, desea aliviar el problema tanto como sea posible. Por lo tanto, pensar que una desfragmentación de archivos podría ayudar a la unidad E, la unidad principal de datos SQL.
Como comentario aparte, la semana pasada sacamos dos unidades fallidas y reconstruimos la matriz ... no estoy seguro de que importe. Contratamos a otro equipo de TI para mantener el servidor, por lo que no tenemos acceso directo al equipo ... nuestra organización solo paga por los servicios.
Podemos permitirnos el tiempo de inactividad durante las ventanas de mantenimiento programadas regularmente (semanalmente), así como el tiempo de inactividad fuera de banda, según sea necesario, durante la noche.
fuente
SELECT *
todas partes o por alguna otra mala práctica.Respuestas:
Personalmente, he utilizado Raxco PerfectDisk (no asociado con la compañía ni con ninguno de sus empleados de ninguna manera) para realizar defrags en línea de LUN de SQL Server. Funciona perfectamente, si ralentiza un poco el servidor. Recomendaría hacerlo durante los períodos de actividad más ligera. Cuando digo "funciona perfectamente" me refiero a que no corrompe el volumen o los archivos de datos SQL.
El desfragmentador incorporado hace un trabajo muy pobre si ciertas estructuras están fragmentadas en el disco. PerfectDisk le muestra detalles sobre todos los elementos que están fragmentados, incluidas las tablas de asignación de NTFS, directorios, secuencias de archivos alternativas, etc.
¿PerfectDisk desfragmenta las bases de datos SQL? http://support.raxco.com/KB/a106/does-perfectdisk-defragment-sql-databases.aspx
Consulte esta copia de archivo de la revista Technet News Magazine sobre SQL Server y la fragmentación: http://web.archive.org/web/20100803204458/http://www.microsoft.com/technet/abouttn/flash/tips/tips_083104.mspx
fuente
Su problema no es la fragmentación del disco. Su problema es la exploración de RAM y tabla de aplicaciones:
Necesitas mucha más RAM. Al igual que en su nuevo servidor, debe tener mucho más de 12 GB. Comience con 64 GB, cuesta básicamente dimes . Y sí, arregle su aplicación para usar índices. 20 segundos es una indicación muy clara de los escaneos de tablas que destruyen el grupo de búferes. Debe corregir la aplicación, agregar los índices requeridos y corregir sus consultas . Para su caso, la desfragmentación de las unidades es tanto una pista falsa como las pistas falsas.
Ah, y mueva el registro para separar los ejes físicos de los datos . Solo.
fuente
Brad McGehee lo describe bien aquí:
http://www.bradmcgehee.com/2011/06/do-you-ever-physically-defragment-your-sql-server-mdf-ldf-files/
... si deja el servicio de SQL Server ejecutándose durante la desfragmentación, los archivos de la base de datos están abiertos y, por lo tanto, no se desfragmentan en absoluto.
fuente