= Allgemein =
Achtung: Erste Version, müsste ich noch was besser Ausarbeiten.
== Default ==
Die Default Einstellungen beim Microsoft [[SQL Server ]] für Min und Max Memory betragen 0 und 2147483647 in MB. D.h. es gibt faktisch keine Grenze für die Menge an RAM, die sich der [[SQL Server ]] zieht.
Das Ergebnis führt bei Systemen, die mehr RAM brauchen könnten, als der Server zur Verfügung hat, dass exzessive in die Swap Datei aus und eingelagert wird. Dadurch bricht die Performance des [[SQL Server|SQL Servers ]] sowie des ganzen SQL Servers zusammen.
== Planung ==
Eine Wiederholung der Messung sollte in definierten Abständen erfolgen, da Änderungen des Schemas oder der Datenmengen oder der Client Anwendung zu einer unterschiedlichen Auslastung führen kann.
 
Prinzipiell sollte eine komplette [[MS-SQL Baseline|Baseline]] über definierte Abläufe (typischer Tag, typisches Monatsende,...) erstellt werden.
=== Windows ===
=== SQL ===
Entweder ich nutze den Memory Report unter der [[SQL Server ]] Instanz oder die entsprechende DMV. Eine grobere Kontrolle über den Performance Monitor ist auch möglich. Entsprechende Counter werden durch die Installation des SQL Server dort angelegt (Instanz Name).
Hier ist für einen ersten groben Überblick der PLE (Page Life Expectancy) interessant. Er beschreibt die Zeit in Sekunden, die die Pages im Cache/Buffer maximal verbleiben. Ist dieser Wert zu klein wird die IO Last des [[SQL Server ]] stark steigen. Hier sollte eine separate Messung der DB IO's für die einzelnen Files erfolgen.
Desweiteren kann ich in dem Memory Report oder über die DMV's erkennen, wie der Speicher aufgeteilt ist, bzw. wie viel von dem Speicher reserviert oder commited ist.
Mögliche Probleme sind hier z.B. ein sehr großer Query Plan Cache im Vergleich zum Pagebuffer -> Analyse der Queries (DMV's)
 
== Lock Pages in Memory ==
 
Läuft der [[SQL Server]] unter dem Network Service Account ist nicht weiteres nötig, mal abgesehen von dem Sicherheitsaspekt.
 
Läuft der [[SQL Server]] unter einem AD Service Account hat dieser nicht das Recht seinen Speicher vor der Auslagerung zu schützten. Das entsprechende Recht muss manuell gesetzt werden.
 
Dies erfolgt in der Local Security Policie, wo der entsprechende AD Account in der Policy "Lock Pages in Memory" hinzugefügt werden muss. Nach einem Neustart der [[SQL Server]] Instanz greift dieses Recht. Kontrolliert werden kann das über einen entsprechenden Eintrag im [[SQL Server]] Log.
Änderungen – Software Entwicklung Projekte

Änderungen

MS-SQL Memory Min Max

824 Byte hinzugefügt, 10:33, 18. Jun. 2015
/* Lock Pages in Memory */
175
Bearbeitungen