Thread- und Fiberausführung

Microsoft Windows plant die Ausführung von Threads basierend auf einem nummerischen Prioritätssystem, das von 1 bis 31 reicht. Null ist für die Verwendung durch das Betriebssystem reserviert. Wenn mehrere Threads auf die Ausführung warten, sendet Windows den Thread mit der höchsten Priorität.

Standardmäßig hat jede Instanz von SQL Server die Priorität 7, was als normale Priorität bezeichnet wird. Die Priorität von SQL Server-Threads ist somit hoch genug, um ausreichend CPU-Ressourcen zu erhalten, ohne jedoch im Gegenzug andere Anwendungen zu beeinträchtigen.

Mithilfe der Konfigurationsoption priority boost kann die Priorität der Threads von einer Instanz von SQL Server auf 13 heraufgesetzt werden. Diese Einstellung wird als hohe Priorität bezeichnet. Durch diese Einstellung erhalten SQL Server-Threads eine höhere Priorität als die meisten anderen Anwendungen. SQL Server-Threads werden somit aller Wahrscheinlichkeit nach gesendet, sobald sie zur Ausführung bereit sind, und müssen nicht für Threads anderer Anwendungen zurücktreten. Auf diese Weise kann die Leistung gesteigert werden, wenn ein Server nur Instanzen von SQL Server und keine anderen Anwendungen ausführt. Wenn jedoch eine arbeitsspeicherintensive Operation in SQL Server durchgeführt wird, verfügen andere Anwendungen in der Regel nicht über eine ausreichend hohe Priorität, um Vorrang vor dem SQL Server-Thread zu besitzen.

Falls Sie mehrere Instanzen von SQL Server auf einem Computer ausführen und Prioritätserhöhung nur für einige Instanzen aktiviert ist, kann die Leistung von Instanzen, die mit normaler Priorität ausgeführt werden, beeinträchtigt werden. Auch kann die Leistung anderer Anwendungen und Komponenten auf dem Server beeinträchtigt werden, wenn priority boost aktiviert ist. Diese Option sollte somit nur in genau kontrollierten Situationen verwendet werden.