Ejecución de subprocesos y fibras

Microsoft Windows utiliza un sistema de prioridad numérica con intervalos de 1 a 31 para programar subprocesos para su ejecución. El cero está reservado para el uso del sistema operativo. Cuando varios subprocesos esperan su ejecución, Windows genera el que tiene mayor prioridad.

De manera predeterminada, cada instancia de SQL Servertiene la prioridad 7, que se denomina prioridad normal. Esto proporciona a los subprocesos de SQL Server una prioridad lo suficientemente alta como para obtener los recursos adecuados de la CPU sin afectar negativamente a otras aplicaciones.

La opción de configuración priority boost se puede utilizar para aumentar la prioridad de los subprocesos de una instancia de SQL Server a 13, denominada prioridad alta. Esta configuración da a los subprocesos de SQL Server una prioridad más alta que la del resto de las aplicaciones. De esta forma, se tenderá a generar los subprocesos de SQL Server en cuanto estén listos para ejecutarse y no habrá subprocesos de otras aplicaciones con mayor prioridad. Esto puede mejorar el rendimiento cuando un servidor ejecuta únicamente instancias de SQL Server y ninguna otra aplicación. Sin embargo, si se produce en SQL Server una operación que consume mucha memoria, probablemente las demás aplicaciones no tendrán suficiente prioridad para tener preferencia ante el subproceso de SQL Server.

Si está ejecutando varias instancias de SQL Server en un equipo y activa la opción priority boost sólo para algunas instancias, se puede ver afectado el rendimiento de las instancias que se ejecutan con prioridad normal. También se puede ver afectado el rendimiento de otras aplicaciones y componentes del servidor si se activa priority boost. Por tanto, debe utilizarse bajo condiciones rigurosamente controladas.