Tengo una base de datos SQL de 2.8TB (principalmente archivos de datos, unos 400GB de archivos de registro) que actualmente tarda alrededor de 9 horas en restaurar. Esta base de datos se utiliza con fines de prueba y debe eliminarse y restaurarse desde una copia de seguridad entre cada ejecución, para asegurarse de que siempre comencemos desde el mismo punto.
Mi pregunta es que el servidor actualmente tiene 12 núcleos y 92 GB de RAM, con un subsistema de disco RAID 5 en el que se encuentra la base de datos. ¿Qué áreas suelen causar cuellos de botella para los procesos de restauración de SQL? ¿Es el disco, la memoria o la CPU?
sql-server
performance
Sean Long
fuente
fuente
Respuestas:
Su principal cuello de botella en una restauración será el disco IO. Para solucionarlo, básicamente necesita discos más rápidos o una configuración diferente. Sin embargo, no sé lo suficiente sobre RAID o SAN para sugerir nada. Incluso podría considerar SSD. Son cegadoramente rápidos. No me gustaría usarlos en algo que no se vuelva a crear de forma regular (tempdb siempre es un buen candidato para esto), pero dado que lo restaura con frecuencia, podría estar bien. Por otro lado, es probable que desee asegurarse de que su servidor de prueba esté lo más cerca posible de su servidor de producción si está realizando pruebas de rendimiento.
Hay un par de otras cosas que puedes hacer para ayudarte. Primero comprima sus copias de seguridad si aún no lo ha hecho. Por supuesto, esto supone SQL 2008 o superior. Reducirá no solo el espacio en disco para almacenar la copia de seguridad sino también el IO para leerla. Hay un costo de CPU involucrado, así que tenga en cuenta. Tampoco elimine su base de datos, solo restaure sobre ella. De esta manera, los archivos ya están en su lugar y no hay gastos generales para crearlos. Puede activar la inicialización instantánea de archivos (es un permiso de nivel de servidor) para acelerar drásticamente la creación / crecimiento de archivos para su archivo de datos, pero no funcionará para su archivo de registro.
fuente
No haga una copia de seguridad y restauración; usar instantáneas de SQL Server. Se necesita mucho espacio en disco para almacenar un archivo disperso del mismo tamaño que los archivos que ha capturado, pero retroceder es cientos de veces más rápido.
Están disponibles en las ediciones SQL Server Enterprise y SQL Server Developer.
fuente