¿Qué razones hay para detener el servidor SQL?

9

Todo lo que he leído es sobre lo potencialmente dañino que es detener SQL Server porque crea un caché frío y absorbe memoria. Entonces, ¿por qué alguien querría detener el servidor SQL? Si puede proporcionar algún enlace a los artículos para que pueda leer más sobre esto, ¡realmente lo agradecería!

Esta pregunta fue planteada por mi maestro. A menos que sea una pregunta capciosa, me tiene absolutamente perplejo. Su pregunta exacta fue:

Realice una investigación utilizando Internet y sepa por qué alguien querría detener el Servidor SQL. Explica tu respuesta.

Esto fue en el contexto de nosotros explorando cómo usar SQL Server 2008 R2. No estoy seguro de si está pidiendo la respuesta obvia, o si hay algo que me falta.

Amerilys
fuente
2
Corte de energía? Actualización del sistema operativo? ¿Migración de un servidor físico? Básicamente, todas las razones por las que desea reiniciar su computadora. O qué pasa con la actualización de SQL Server en sí, ¿cómo vas a hacer eso mientras se está ejecutando?
user253751

Respuestas:

22

Brent enumeró algunas razones no válidas para detener el servicio, pero también hay razones válidas:

  • Reinicio requerido por un service pack u otra actualización
  • Ciertos cambios de configuración (por ejemplo, cambio de cuenta de servicio, cambios de hardware, inicialización instantánea de archivos, esta lista podría continuar durante semanas)
  • En un clúster, un reinicio para forzar una conmutación por error o aplicar un parche continuo
  • Parches de Windows
Aaron Bertrand
fuente
1
¿Puedo sugerir mejoras de hardware, SSD, memoria, ...?
McNets
1
También agregaría habilitar IFI.
Erik Darling
Si está moviendo las bases de datos del sistema de C: a otra unidad, debe detenerla. Hay otra razón válida.
SQL_Deadwood
Habilitar los grupos de disponibilidad Always On en el administrador de control de servicios es otro.
Kris Gruttemeyer
Ciertas acciones realizadas en el Administrador de configuración de SQL Server, por ejemplo, habilitar un puerto TCP / IP o canalizaciones con nombre, también requieren un reinicio del servicio para que surta efecto.
dlatikay
19

Porque piensan que hay un problema de memoria : SQL Server usa toda la memoria disponible, hasta su configuración de memoria máxima (e incluso más allá). Las personas que no lo saben van al Administrador de tareas, ven a SQL Server usando mucha memoria y piensan: "Debe haber una pérdida de memoria: detendré y reiniciaré SQL Server, y veré qué sucede". Efectivamente, eso libera mucha memoria (porque SQL Server no lo asigna todo de forma predeterminada), por lo que piensan que solucionaron el error. Lo siguiente que sabes es que reinician SQL Server semanalmente.

Debido a que piensan que hay un problema de CPU , las consultas utilizarán una tonelada de recursos de CPU, especialmente en el caso de problemas de detección de parámetros. Las personas que no lo saben intentan conectarse al SQL Server sin conocer la Conexión de administrador dedicada (DAC), no pueden conectarse y simplemente se quedan sin opciones. Se reinician porque los ejecutivos los respaldan y desean una solución rápida.

Debido a que han escuchado que corrige la corrupción , cuando la gente se encuentra con un problema de corrupción, a menudo están dispuestos a intentar cualquier cosa para solucionarlo.

Debido a que quieren que finalice una reversión , eliminan una consulta y se mantiene en la reversión por un tiempo porque no sabían que la reversión de una consulta es de un solo subproceso. Después de minutos (u horas) de espera, reinician el SQL Server, pensando que la reversión no será necesaria cuando se reinicie nuevamente. Lamentablemente, están equivocados, y SQL Server simplemente continúa con la reversión al inicio.

Brent Ozar
fuente
"Porque quieren terminar una reversión": recuerdo haber aprendido esa lección de la manera más difícil.
Michael J Swart el
1

Una razón podría ser que compró nuevo hardware y migró las bases de datos a este nuevo servidor. Ahora está cerrando esta instancia de servidor sql en el cuadro anterior (junto con el cuadro en sí), ya que desea asegurarse de que ya nadie se conecte a él

Se mudó a la nube, ya no se necesita el cuadro prem, se apaga, se reformatea y se reutiliza (si no es demasiado viejo)

SQLMenace
fuente
1

Una razón válida es cuando hay otro software ejecutándose en el mismo servidor que necesita parte de la memoria que tiene el servidor SQL, pero que solo se ejecuta algunas veces al mes.

Por ejemplo, mi esposa (una contadora que desea saber tan poco (y nada menos) sobre el servidor SQL que se necesita para hacer su trabajo) tiene un sistema basado en el servidor SQL utilizado por 3 personas, incluida ella para procesar un conjunto de datos muy grande, lo hacen muchas consultas ad-hock, pero algunas veces al mes tienen que ejecutar un motor de cálculo que está en el mismo servidor y accede a la base de datos. El motor de cálculo necesita memoria. No tienen un DBA, no pueden obtener fondos para más hardware, incluso si pudieran, el departamento de TI (que sabe menos sobre SQL que los contadores) tomaría meses para configurar el nuevo hardware y restablecer SQL servidor les permite hacer su trabajo como contadores. (El sistema transaccional está separado).

Ian Ringrose
fuente
Es posible que quieran reducir y aumentar la configuración de memoria máxima en lugar de liberar algo de RAM.
Magier
@Magier y cuál es el retorno de la inversión de un contador que está aprendiendo cómo hacer eso en lugar de hacer su trabajo ... (Y tan pronto como algo cambie, necesitará diferentes números mágicos para establecerse en diferentes momentos).
Ian Ringrose