Passend zu dem Cebit-Leitthema "Green IT" fragte mich heute ein Kollege zu einer Meldung, die der SQL-Server gerne bei unseren Kunden wirft. Meist handelt es sich dabei um die Express-Edition, die auf einem Arbeitsplatzrechner bzw. Laptop läuft:
Error 17896
"The time stamp counter of CPU on scheduler id XY is not synchronized with other CPUs."
bzw.
"Der Timestampzähler der CPU für das Zeitplanungsmodul mit der ID XY ist nicht mit anderen CPUs synchronisiert."
Das ist eine reine Info-Message, die mit SP2 eingeführt wurde. Man kann sie nicht abschalten. Wenn man Pech hat, dann müllt einem diese Meldung nicht nur das Errorlog, sondern auch die Ereignisanzeige voll.
Die Meldungen kommen beispielsweise gerne auf Laptops, die je nach eingestelltem Energie-Schema den CPU-Takt ändern. Das mag der SQL-Server gar nicht gerne, weil sich einige interne Abläufe am CPU-Takt orientieren. In zukünftigen Versionen wollen die MSler das Verhalten ändern. Mal abwarten…
Durch das Umschalten auf das Energie-Schema "Dauerbetrieb" kann man das ändern.
Wenn man auf einem "normalen" Rechner einen Server (z.B. Peer-to-Peer) betreibt, dann sollte er sowieso generell auf "Dauerbetrieb" eingestellt sein, um ständig eine gute Zugriffszeit zu gewährleisten. Aber Achtung: angeblich ändern auch manche Tools den Prozessortakt. Da kenne ich aber keines, kann mich da jemand erleuchten?
Microsoft empfiehlt an dieser Stelle auch das feste Zuordnen von CPUs mit der Affinity-Mask. An anderen Stellen wird generell davon abgeraten. Ich schließe mich der Ablehnung an. Nur echte Experten mit dedizierten Servern für einen SQL-Server mit einer High-Performance-Datenbank sollten das einsetzen.
Hintergrund-Informationen findet man in folgenden Dokumenten: