He notado que algunos DBA reinician SQL Server con mucha frecuencia, a veces incluso todas las noches. Creo que lo hacen para liberar algo de memoria, o tal vez para acelerar las consultas también. Sé que después de una consulta de reinicio, los planes deben volver a compilarse, pero incluso eso me pregunto si hay un beneficio neto para esta práctica.
¿Es cierto que reiniciar SQL Server a diario lo hace correr más rápido?
fuente
Si bien las otras respuestas son buenas, les falta una pieza importante: el caché de archivos de Windows.
En Windows de 64 bits, no hay límite para la cantidad de memoria que Windows usará para almacenar en caché los archivos. Windows puede agotar su sistema completamente sin memoria, y en ese punto, comenzará a cambiar al disco. Se ha documentado en algunos lugares:
Al reiniciar SQL Server, obliga a SQL a renunciar a la memoria, lo que permite que Windows obtenga más y la paginación se detiene temporalmente. SQL comenzará de nuevo con el uso de memoria casi cero y aumentará gradualmente, y cuando el cuadro se quede sin memoria nuevamente, el reinicio ayudará temporalmente. Al reiniciar todo el sistema operativo, también forzará el uso de la memoria caché de archivos de Windows.
La solución real: deje de copiar archivos del servidor de Windows o limite la cantidad de caché de archivos en uso con el Servicio de caché de archivos dinámicos como se documenta en las publicaciones de blog anteriores.
fuente
Si acelera las consultas, podría estar involucrado el rastreo de parámetros . Si un plan de basura se almacena en caché y se aplica a llamadas posteriores inapropiadas, entonces el milagro de reiniciar permite que el plan común / correcto se almacene en caché. Si ese es el caso, hay formas infinitamente mejores de corregir el comportamiento como otros han indicado. Pero hasta que dejen de reiniciar el cuadro, no hay forma de realizar un análisis de causa raíz.
fuente
No debería reiniciar SQL Server a menos que haya cambiado las propiedades del servicio o establecido rastreos de inicio que desee que entren en vigencia de inmediato.
Como @RemusRusanu ha declarado muchos puntos, borra muchos cachés y hace que SQL Server haga mucho trabajo de inicio innecesario .
Parece que este servidor no es un servidor SQL Server / servidor de base de datos dedicado. Es una buena práctica tener un servidor de base de datos de producción que tenga un solo propósito ... ser un servidor de base de datos. En ese caso, reservaría suficiente memoria y recursos para el sistema operativo y le daría todo lo demás a SQL Server. Esto lo llevaría a no privar a ninguna otra aplicación o rol de servidor.
fuente
Estoy de acuerdo con el sentimiento de que si está haciendo todo bien, es posible que no necesite reiniciar / reiniciar su servidor MSSQL.
Para mí, esto se aplica al escenario en el que todos son competentes y puedes arreglar cualquier cosa.
No soy un DBA. Soy arquitecto de software y parte de eso implica construir esquemas de bases de datos completos desde cero y, desafortunadamente , trabajar con bases de datos de terceros sobre las cuales no tengo absolutamente ningún control.
Las personas, que crearon y mantienen una de nuestras principales bases de datos de terceros, apenas lo hicieron funcional.
¿Mencioné que tampoco soy experto en seguridad o ingeniero de redes?
Para mí, la pregunta es: ¿Debería reiniciar SQL Server con más frecuencia que cada 3 meses?
La programación de reinicios con la promesa de una pulgada extra de rendimiento, es como bailar por la lluvia.
Tal vez vendrá, tal vez no, pero no sabrás con certeza qué causó que lloviera.
No me gusta decir que nunca necesidad de reiniciarla para solucionar un problema o verificar la conmutación por error, pero hacer que tenga un problema con la programación de reinicios para mantener un problema de rendimiento desconocido que se produzcan al azar.
La única excepción a esto es si administra una base de datos de terceros deshonesta en la que reiniciarla cada semana o dos parece ser la única forma de mantenerla en funcionamiento y no puede repararla ni siquiera tocarla.
Incluso entonces, debes buscar soluciones, compartirlas con el propietario y provocar el infierno hasta que se resuelva.
fuente