SQL Server 2008 Performance-Optimierung



Ähnliche Dokumente
Bibliografische Information der Deutschen Nationalbibliothek

Datenbank- Programmierung mit InterBase

Joomla! eigenen Joomla!-Website ^ADDISON-WESLEY. Die Schritt-für-Schritt-Anleitung zur. Stephen Bürge. An imprint of Pearson

Microsoft SQL Server 2005 für Administratoren

Bück Woody. SQL Server Das Handbuch für Administratoren. ADDISON-WESLEY An imprint of Pearson Education

PostgreSQL. Professionell und praxisnah. Jens Hartwig. An imprint of Pearson Education

Windows-Testumgebung

Magento Theme-Design. professionelle Themes für Ihren Shop Y%ADDISON-WESLEY. Entwerfen Sie Schritt für Schritt. Richard Carter

SQL Server 2005 Der schnelle Einstieg

SQL Server 2008 Der schnelle Einstieg

SQL objektorientiert

Java Server Faces. Andy Bosch. Das Standard-Framework zum Aufbau webbasierter Anwendungen. An imprint of Pearson Education

Inhaltsverzeichnis. Inhaltsverzeichnis

Objektorientierte Softwaretechnik

Windows Server Die technische Referenz: Leistungsoptimierung

Der Rational Unified Process

MCSE-Zertifizierungsupgrade auf Windows Server 2003

Microsoft SQL Server 2008 für Administratoren

Visual C++ Windows-Programmierung mit den MFC. Frank Budszuhn. ADDISON-WESLEY An imprint of Pearson Education

MailUtilities: Remote Deployment - Einführung

Google Analytics & Co

ITIL V3 Basis-Zertifizierung

Inhalt. 1. MySQL-Einführung Datenbankentwurf 27

Inhaltsverzeichnis. Teil I Überblick... 21

MCITP für Windows Server 2008

Inhaltsverzeichnis. jetzt lerne ich

ISA Server 2004 Protokollierung - Von Marc Grote. Die Informationen in diesem Artikel beziehen sich auf:

Schritt 1: Verwenden von Excel zum Erstellen von Verbindungen mit SQL Server-Daten

Schritt 1: Verwenden von Excel zum Erstellen von Verbindungen zu SQL Server Analysis Services-Daten

Wie mache ich eine Datensicherung vom SQL Server Express

ecommerce Websites Entwicklung erfolgreicher Web-Auftritte mit Java, JavaScript, HTML, XML und SQL Vivek Sharma Rajiv Sharma ADDISON-WESLEY

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Installation Microsoft SQL Server 2008 Express

Avira Management Console Optimierung für großes Netzwerk. Kurzanleitung

Jürgen Kotz Rouven Haban Simon Steckermeier. WCF, WPF und WF - Ein Überblick ADDISON-WESLEY. An imprint of Pearson Education

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

datenfabrik. Validieren von -Adressen 1

INSTALLATIONSANLEITUNG der Version 2.1 (Jänner 2014)

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

desk.modul : Intercompany

Websites organisieren und gestalten mit dem Open Source-CMS ADDISON-WESLEY. An imprint of Pearson Education

BILDUNGSANGEBOTE FÜR UNTERNEHMEN LEHRGÄNGE IM IT-BEREICH

Windows Scripting lernen

Inhaltsverzeichnis. Einleitung 11. Modul 1 Die erste Datenbank 15. Modul 2 Tabellen in der Entwurfsansicht definieren 21. Inhaltsverzeichnis

IBM Informix Tuning und Monitoring

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Firewalls illustriert

Umzug der Datenbank Firebird auf MS SQL Server

Windows Scripting lernen

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Feature-based Programming

Pro/INTRALINK Lehrplan-Handbuch

Administering Microsoft SQL Server 2012/2014 Database (M20462) M /

Anleitung zur Excel-Anwendung Basisprämienberechnung

Bedienungsanleitung CAD-KAS Reklamationserfassung. Einen neuen Datensatz anlegen. Klicken Sie auf das + Symbol, um einen neuen Datensatz anzulegen.

Exchange Server Der schnelle Einstieg

Reporting Services und SharePoint 2010 Teil 1

Einrichten einer Verbindung zwischen Outlook 2010 und Exchange-Postfach per RPC over HTTPS

Datenbank-Tuning & Administration MS SQL SERVER 2005 EXPRESS

Handbuch - Mail-Sheriff Verwaltung

Task: Nmap Skripte ausführen

QR-FUNKTION. Informationen über zu erledigende Aufgaben an das Reinigungspersonal senden.

Applikation servotec Antriebsparameter Optimieren

Projektmanagement mit Microsoft Project

Durch Drücken des Buttons Bestätigen (siehe Punkt 2) wird Ihre an Ihr Outlookpostfach weiterleiten.

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration

Kontenaktualisierung in Lexware buchhalter

Oliver Lehmann Antje Lehmann. in Suchmaschinen. An imprint of Pearson Education

Urs Meier Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

Grundlagen relationaler Datenbanken Access Grundlagenseminar Access Aufbauseminar Von Excel 2010 zu Access

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Kontoeinrichtung

Inhaltsverzeichnis VII

-Zertifikatsverwaltung

SharePoint Demonstration

Datensicherung. Mögliche Vorgehensweisen:

NTT DATA Helpdesk Benutzerhandbuch

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

MCSE Crash Test SQL Server 7 Systemadministration

IBM Domino 9 Systemadministration II. Weiterführende Themen der IBM Domino Systemadministration

Sie sollen nach Abschluss dieser Übung: das Zusammenwirken von Berechtigungen auf Freigabe- und Dateisystemebene

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Zeiterfassung-Konnektor Handbuch

Administering Microsoft SQL Server Databases

Inhalt 1 2. Über dieses Buch 9. Eigene Web Apps erstellen 15. Web Apps weiterentwickeln 27

Microsoft SQL Server 2005 Management Studio Express Installation und Wiederherstellung einer Redisys SQL Datenbank. Inhaltsverzeichnis

1. SIDOMO -WARTUNG KONFIGURATION WINDOWS 2003, 2000, XP: ERSTELLEN EINES SIDOMO -WARTUNGS-TASKS... 2

Sybase Central Dokumentation Aktivierung der Monitoringfunktion

MS SQL Server: Index Management. Stephan Arenswald 10. Juli 2008

Stud.IP Performance Testing

SCSI-Bus und IDE-Schnittstelle

Inhaltsverzeichnis. Einleitung und Danksagung. 1 Was ist SharePoint? - Ein Überblick.

Inhaltsverzeichnis. Einleitung und Danksagung 11 Für wen ist dieses Buch? 12 Voraussetzungen für die Arbeit mit diesem Buch 13 Danksagung 13

Anleitung Jahreswechsel

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße Neckargemünd

Einrichtung von Mozilla Thunderbird

Implementieren einer Microsoft SQL Server 2005-Datenbank M4739

Transkript:

Holger Schmeling SQL Server 2008 Performance-Optimierung Das Praxisbuch für Entwickler und Administratoren ^ ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam

Vorwort Einleitung 13} 1.1 Optimierungsmodell 14 1.2 Was vermittelt dieses Buch? 15 1.2.1 Tipps und Hinweise 16 1.3 Wo finde ich was? 16 1.4 Welche Voraussetzungen werden benötigt? 18 1.5 Was ist auf der Begleit-CD? 18 1.6 Danksagung 19 1.7 Performanz oder Performance? 19 Grundlagen 21 Datenverwaltung durch SQL Server 23 2.1 Datenbanken 23 2.2 Daten lesen 24 2.3 Daten schreiben 25 2.3.1 Experiment: Transaktionsgröße 26 2.4 Zusammenfassung 29 Ausführung von Abfragen 31 3.1 Logische Schritte bei der Abfrageausführung 31 3.2 Physikalischer Ausführungsplan 34 3.2.1 Parser 34 3.2.2 Algebrizer 35 3.2.3 Optimierer 35 3.2.4 Anzeigen des Ausführungsplans 39 3.3 Zusammenfassung 43

6 Werkzeuge und Indikatoren zum Messen der Leistung 45 4.1 Allgemeine Werkzeuge 48 4.1.1 Messen mit der Stoppuhr 48 4.1.2 Statistische Größen 49 4.2 Der Aktivitätsmonitor 50 4.2.1 Übersicht 51 4.2.2 Aktuelle Prozesse 51 4.2.3 Ressourcenwartevorgänge 52 4.2.4 Datendatei E/A 52 4.2.5 Aktuell wertvolle Abfragen 52 4.3 Ablaufverfolgungen und der SQL Server Profiler 53 4.3.1 Erstellen einer einfachen Ablaufverfolgung 55 4.3.2 Ereignisse und Ereignisspalten 59 4.3.3 Arbeiten mit Ablaufverfolgungen 62 4.3.4 Serverseitige Ablaufverfolgungen 63 4.3.5 Arbeiten mit Ablaufverfolgungsdateien 66 4.4 Der Windows-Systemmonitor 67 4.4.1 Wichtige Leistungsindikatoren 68 4.5 Verbindung von Systemmonitor-Berichten mit Ablaufverfolgungen 78 4.6 Dynamische Verwaltungssichten 79 4.6.1 Abfrage der aktuellen Aktivität 81 4.6.2 Abfrage der E/A-Vorgänge 81 4.6.3 Abfrage der insgesamt aufgetretenen Wartezustände 82 4.6.4 Abfrage der SQL Server-Leistungsindikatoren 84 4.7 Statistische Systemfunktionen 85 4.8 Gespeicherte Systemprozeduren 87 4.9 DBCC 89 4.10 SQLdiag 90 4.11 Ausführungspiäne 93 4.11.1 Wichtige Operatoren in Ausführungsplänen 94 4.11.2 Eigenschaften von Operatoren 97 4.11.3 Analyse von Ausführungsplänen 100 4.12 Datenauflistungen 105 4.12.1 Konfiguration eines Verwaltungs-Data Warehouse 106 4.12.2 Konfigurieren von Datenauflistungen 108 4.13 Berichte 112 4.13.1 Allgemeine Berichte 113 4.13.2 Berichte der Datenauflistung 118 HFS 14 < *.\ЛSCI 11111 Id 11 ds3%л 11*! ~

Physische Aspekte des Datenbankentwurfs 123 Verwenden von Indizes 125 5.1 Der Heap: Eine Tabelle ohne Index 125 5.2 Der gruppierte Index 127 5.3 Der nichtgruppierte Index auf einem Heap 130 5.4 Der nichtgruppierte Index auf einem gruppierten Index 131 5.5 Eingeschlossene Spalten 132 5.6 Gefilterte Indizes 133 5.7 Indizierte Sichten 134 5.8 Erstellen von Indizes 135 5.8.1 Manuelles Erstellen von Indizes: CREATE INDEX 136 5.8.2 Automatische Erstellung von Indizes 137 5.8.3 Indizes auf Sichten 137 5.8.4 Index-Füllfaktor 138 5.8.5 Einen Index neu aufbauen 140 5.8.6 Löschen von Indizes 141 5.9 Zusammenfassung 141 Verwalten von Indizes 143 6.1 Fragmentierung und Reorganisation 144 6.1.1 Einen Index reorganisieren 147 6.1.2 Einen Index neu erstellen 148 6.1.3 Strategie zur Indexprüfung und Indexdefragmentierung 149 6.2 Fehlende Indizes 151 6.2.1 Fehlende Indizes in gespeicherten Ausführungsplänen 151 6.2.2 Die sys.dm_db_missing_index...-systemsichten 155 6.3 Überflüssige Indizes 158 6.4 Zusammenfassung 162 Partitionierung 7.1 Horizontale Partitionierung 164 7.1.1 Partitionierte Sichten 165 7.2 Vertikale Partitionierung 166 7.3 Zusammenfassung 169 7

Komprimierung von Daten 171 8.1 Allgemeines zur Komprimierung 171 8.2 Vorteile einer Komprimierung 172 8.3 Komprimierungsarten 172 8.4 Beispiel: Auswirkung der Komprimierung auf die Abfrageleistung 173 8.5 Komprimierten Speicherplatz berechnen 175 8.6 Zusammenfassung 177 3 Optimierung 179 Analysieren und Optimieren von Abfragen 9.1 Ausführungspläne und der Plancache 181 9.1.1 Kompilierung und Re-Kompilierung von Ausführungsplänen 184 9.1.2 Entfernen von Plänen aus dem Plancache 184 9.1.3 Parametrisierte Abfragen 185 9.1.4 Wiederverwendung von Abfrageplänen 186 9.2 Die Rolle von Statistiken 189 9.2.1 Erstellen und Aktualisieren von Statistiken 197 9.2.2 Probleme mit Statistiken 207 9.3 Parametrisierte Abfragen 212 9.3.1 Positive Auswirkungen der Parametrisierung 212 9.3.2 Probleme mit der Parametrisierung 218 9.3.3 Erzwungene Parametrisierung 219 9.4 Parameter Sniffing 223 9.4.1 Probleme mit Parameter Sniffing 223 9.4.2 Lösung von Parameter Sniffing-Problemen 232 9.5 Physikalische JOIN-Operatoren 242 9.5.1 MERGE JOIN 244 9.5.2 HASH JOIN 245 9.5.3 NESTED LOOPS 247 9.6 Auffinden geeigneter Indizes 248 9.6.1 Suchargumente (SARGs) 249 9.6.2 Auswahl des gruppierten Index für eine Tabelle 251 9.6.3 Selektivität und Sortierung 253 9.6.4 Verknüpfungen und Fremdschlüssel (Foreign Keys) 261 9.7 Zusammenfassung 264 8

Auffinden problematischer Abfragen 265 j 10.1 Überwachung durch dynamische Verwaltungssichten 266 10.1.1 Auswertung der E/A-Operationen 266 10.1.2 Ermitteln fehlender Indizes 269 10.1.3 Auswerten der im Plancache gespeicherten Ausführungspläne 269 10.1.4 Permanentes Speichern der Informationen aus dynamischen Verwaltungssichten 272 10.1.5 Berichte 276 10.2 Arbeiten mit dem Profiler. 277 10.3 Einsatz von Datenauflistungen 280 10.3.1 Manuelle Abfragen des VDWH 282 10.3.2 Erzeugen von Ablaufverfolgungen mit dem Datenauflister 284 10.4 Zusammenfassung 287 Optimierung des physischen Datenbankentwurfs 289 11.1 Indexüberwachung mit Datenauflistungen 289 11.1.1 Ein Auflistsatz für fehlende und überflüssige Indizes 290 11.1.2 Ein Auflistelement für fehlende Indizes 291 11.1.3 Ein Auf listelement für die Indexverwendung 293 11.1.4 Daten sammeln und auswerten 294 11.2 Partitionierung mit Indizes 299 11.2.1 Horizontale Partitionierung 300 11.2.2 Vertikale Partitionierung 303 11.3 Arbeiten mit dem Datenbankoptimierungsratgeber 303 11.3.1 Tipps zur Verwendung des Datenbankoptimierungsratgebers 309 11.4 Zusammenfassung 310 Kontrollieren von Ressourcen 311 12.1 Funktionsweise der Ressourcenkontrolle 312 12.2 Einrichten der Ressourcenkontrolle 313 12.2.1 Erstellen von Ressourcenpools 313 12.2.2 Einrichten von Arbeitsauslastungsgruppen 314 12.2.3 Entwerfen einer Klassifizierungsfunktion 315 12.2.4 Aktivieren der Ressourcenkontrolle 316 12.3 Zusammenfassung 317 9

Testen und Optimieren des E/A-Systems 319 13.1 Physikalisches Datenbanklayout 320 13.2 Testen des E/A-Systems 322 13.2.1 Testen auf Korrektheit von E/A-Operationen mit SQUOSIM 322 13.2.2 Messen des E/A-Durchsatzes mit SQLIO 324 13.3 Zusammenfassung 331 Anhänge ззз Häufige Fehler und Irrtümer 335 : A.1 Vertrauen auf RAID 5 335 A.2 Planung des E/A-Systems nach Kapazität 335 A3 Gruppierter Index für den Primärschlüssel 335 A.4 Verwenden von GUIDs als Primärschlüssel 336 A.5 Verwenden von Autogrow 336 A.6 Verwenden von SHRINK DATABASE 337 A.7 Aktualisieren der Statistiken nach dem Re-Index 337 A.8 Optimierung = leistungsfähigere Hardware anschaffen 337 A.9 Scans sind generell schlecht 338 A.10 Dynamisches SQL ist»ungesund«338 A.11 Verwenden automatisch erstellter UNIQUE-Indizes 338 A.12 Cursors sind in jedem Fall zu vermeiden 339 A.13 Mehr Einschränkungen in der WHERE-Klausel senken die Abfragekosten 341 A.14 Unzureichende Einschränkungen 343 Literatur 345 Stichwortverzeichnis 347 10