Cualquier proceso que no sea de SQL Server que consuma CPU puede causar que todo el SQL Server quede completamente inutilizable.
Como ejemplo, Windows Update detendrá SQL Server mientras desempaqueta ensamblados .Net.
Cualquier proceso de Anti-Virus, incluso si está configurado para excluir archivos y carpetas de datos de SQL Server, puede hacer que SQL Server deje de responder mientras analiza archivos y desempaqueta archivos de definición de virus actualizados.
Si tiene instalado un software de gestión, como IBM Tivoli Server Monitor, y decide utilizar el 100% de un núcleo, probablemente no podrá hacer nada más que apagar la máquina en frío. No me preguntes por qué estoy mencionando eso.
Podría continuar, pero basta decir que cualquier servidor con un solo núcleo simplemente está pidiendo problemas con el rendimiento y la capacidad de administración. Verifique que cualquier computadora con un solo núcleo se considere inutilizable hoy en día. Diablos, mi teléfono tiene 8 núcleos.
Mientras lo hace, convenza al tipo de virtualización para que otorgue a cada servidor SQL una reserva de memoria razonable que garantice que la memoria del servidor SQL no salga de la memoria principal del host al disco.
Para los servidores SQL serios alojados en VMware, debe configurar VMware de acuerdo con la Guía de mejores prácticas de arquitectura de SQL Server en VMware .
Realmente se reduce a una máquina virtual de un solo núcleo que solo puede ejecutar un solo subproceso en un momento dado. La virtualización no es una bala de plata para esa situación de un núcleo por hilo.
Los puntos anteriores tienen en cuenta que Windows NT (la base de código de 1993 en la que se basan todas las versiones modernas de Windows) utiliza tareas múltiples preventivas. La multitarea preventiva permite que la O / S imponga la multitarea al forzar el cambio de contexto en horarios regulares. Incluso con la multitarea preventiva, un servidor con un solo núcleo sufrirá un rendimiento muy bajo si una sola tarea decide usar la mayor cantidad de CPU posible, ya que el O / S le dará a esa tarea el mayor tiempo de CPU posible sin dejar de permitir que se ejecuten tareas de mayor prioridad, lo que obliga a la CPU al 100%. Si SQL Server se está ejecutando en el momento en que la CPU alcanza el 100%, la cantidad de CPU de SQL Server se reducirá tanto que se volverá muy notable. En los escenarios anteriores que he descrito, yo nodigamos, la máquina (o incluso SQL Server) se "detendrá" o "morirá" por completo; eso simplemente sería falso. Sin embargo, la máquina puede estar tan ocupada que, para todos los efectos, la máquina queda inutilizable. Agregar un segundo núcleo, aunque ciertamente no es una panacea, reduce la probabilidad de que la máquina deje de responder por completo. Cada núcleo adicional significa que otro subproceso puede ejecutarse al 100% de la CPU sin que la máquina quede inutilizable.