Wir haben viele Systeme, die dieselbe Konfiguration haben
- Ein Server (virtuell oder physisch)
- Ausführen von SQL Server (SQL) und SQL Server Analysis Server (AS)
- mehrere Kerne
- 16 GB RAM
Jede Nacht führt der SQL Server eine Verarbeitung von ca. 2-3 Stunden durch, gefolgt von 2-3 Stunden AS-Verarbeitung. Dann werden im Laufe des Tages nur die AS abgefragt.
Angenommen, dies ist ein dedizierter Server, und keine anderen Apps sind von Belang, und die beiden Verarbeitungssätze sind vollständig synchron - keine Überlappungen immer nacheinander - wie kann ich die Speicherbeschränkungen für SQL- und AS-Server am besten festlegen?
Der Grund für die Frage ist, dass, wenn ich kein Limit für SQL festlege, der gesamte Speicher belegt wird, den es kann. Mein Verständnis ist jedoch, dass SQL diesen Speicher gerne freigibt, wenn:
Es benutzt es nicht und
Ein anderer Dienst / Programm fordert es an.
Aus logischer Sicht glaube ich, dass SQL so viel nehmen kann, wie es braucht, aber ich bin mir bei AS nicht so sicher TotalMemoryLimit
. Ich bin nicht sicher, ob AS sein Gedächtnis aufgeben wird. Wenn ich mehr lese, glaube ich, dass es falsch ist, alles nehmen zu lassen.
Bedeutet dies, dass ich tatsächlich Grenzen für beide setzen muss? Ich bin verwirrt darüber, was die besten Praktiken sein sollten und was wir messen müssen, wenn man bedenkt, dass sich die Prozesse nicht überschneiden.
Hoffe das macht Sinn.