SOG-Helpcenter Logo SOG Business - Software

SQL Server 2008


Bei Einsatz des Datenbanksystem SQL Server 2008 stehen eine Fülle von Möglichkeiten zur Verfügung, um die Zugriffe des Datenbanksystems zu analysieren und zu optimieren.

Verwiesen sei dabei auf folgende Literatur:

Microsoft® SQL Server® 2008 Internals (Pro - Developer)
  von Kalen Delaney, ISBN 978-0735626249

Inside Microsoft® SQL Server® 2008: T-SQL Programming (Pro-Developer)
  von Itzik Ben-Gan, ISBN 978-0735626027

Allgemeine Hinweise


Wird SQL Server unter einem "normalen" Betriebssystem-Account ausgeführt, so MÜSSEN diesem folgende User-Privilegien zugewiesen werden:

  • Lock Pages in Memory

  • Perform Volume Maintenance Tasks


Die vom SQL Server verwendete Speichergröße kann nicht über den Taskmanager ermittelt werden, sondern z.B. über den Performance-Monitor "perfomon".

Das Transaktionsprotokoll sollte auf die schnellste Festplatte gelegt werden.

Die Datenbank sollte im Vorfeld auf die zu erwartende Größe konfiguriert werden.

Es sollten lieber manuell die Datenbankdateien vergrößert werden, nicht automatisch.

Für SOG ERP (VACOS) sollte der Server mit der Option "Optimize for AdHoc Queries" konfguriert sein.

Mit einer Enterprise-Edition von SQL Server können Tabellen in Indices partitioniert werden.

Für jede CPU sollte ein eigener TEMPDB-Datenbereich zur Verfügung stehen.

Jede Tabelle benötigt einen "Clustered Index".
Dieser sollte möglichst klein, und "stupide" aufsteigend vergeben werden.

Bei Einsatz einer SQL Server Enterprise-Edition können "filtered Indexes" auf Teilmengen der Daten angelegt werden.

Bei Einsatz einer SQL Server Enterprise-Edition können "indexed views" verwendet werden.

Bei Indextuning sollte geschaut werden:

  •   Seit wann läuft der SQL Server (Muss lange laufen, damit Statistiken aktuell sind)

  •   Auf welchen Tabellen fehlt ein Clustered Index?

  •   Tip: Nicht verwendete Indexe löschen.

  •   FragmentCount der Indexe checken ggf. Index Rebuild.

  •   dm_db_missing_index: Relevant, wenn avg_user_impact > 80!

Ggf. Indices um Datenfelder erweitern, wenn dies Vorteile für Relationszugriffe bringt.

Wichtige SQL Anweisungen

 

 

set statistics io on;

Ausgabe von IO-Statistiken zur aktuellen Query.

set statistics query on;

Ausgabe von QUERY-Statistiken zur aktuellen Query.

set statistics xml on;

Ausgabe von XML-Ausführungsplänen zur aktuellen Query.

alter table set lock escaltion false;

Nur noch Row-Level Locking für Tabellen.

Nützliche Tools


Mit Hilfe des PAL-Tools können SQL-Server Performance-Analysen durchgeführt werden.

Database Engine Tuning Advisor

SQL Server Best Practice Analyser (Freies Tool)

Performance-Monitor (perfmon)