Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Es ist schon ein paar Jahre her, dass ich mein letztes Buch veröffentlicht habe. Seitdem hat sich vieles geändert. Es wurden mehrere SQL Server-Versionen veröffentlicht. Das Produkt ist ausgereifter geworden und bietet nun Betriebssystem-übergreifende Unterstützung und echte Cloud-Funktionen. Trotzdem fand ich nicht, dass es der richtige Zeitpunkt war, die neue Ausgabe von Pro SQL Server Internals (Apress) zu veröffentlichen.
Dafür gab es mehrere Gründe. So toll die neuen Funktionen auch waren, sie haben die Funktionsweise des Produkts nicht grundlegend verändert. Die meisten Inhalte aus meinen alten Büchern konnten auf SQL Server 2017, SQL Server 2019 und sogar auf die kommenden Versionen von SQL Server 2022 angewendet werden. Noch wichtiger ist, dass ich das Buch auf eine andere Art und Weise schreiben wollte.
Vielleicht muss ich das näher erläutern. Wie einige von euch vielleicht wissen, gebe ich seit vielen Jahren SQL Server-Kurse, und ich habe meine Bücher als ergänzende Materialien dafür betrachtet. Eigentlich habe ich angefangen zu schreiben, weil ich die Inhalte in einem strukturierteren, nicht-PowerPoint-Format präsentieren wollte. Ich freue mich, dass meine Leserinnen und Leser es mochten und die Bücher besonders nützlich fanden.
Alle meine Kurse konzentrierten sich auf SQL Server Internals. Ich war schon immer der Meinung, dass jeder Fachmann seine Werkzeuge kennen muss, um erfolgreich zu sein. Ich habe meinen Teilnehmern beigebracht, wie SQL Server funktioniert, und ihnen geholfen, dieses Wissen zu nutzen und effiziente Systeme aufzubauen. Im Laufe der Zeit stellte ich jedoch fest, dass die Fehlerbehebung und Leistungsoptimierung das beliebteste Thema in meinen Kursen wurde - die Leute mögen es, wenn ich mit dem Problem beginne und dann erkläre , warum es auftritt.
Als ich meine Art zu unterrichten änderte, beschloss ich auch, meine Art zu schreiben zu ändern. Jetzt, 18 Monate später, kannst du dir das Ergebnis dieser Entscheidung ansehen. Mir persönlich gefällt das Ergebnis. Es geht zwar immer noch um SQL Server Internals, aber es ist prägnanter und praktischer als alle meine früheren Werke. Es vermittelt dir genug Wissen, um die wichtigsten Systemprobleme zu erkennen und zu lösen und die Informationsflut zu reduzieren. Außerdem zeigt es dir die richtige Richtung, wenn du mehr erfahren möchtest.
Dieses Buch beschreibt die Methodik, die von vielen erfahrenen SQL Server-Beratern verwendet wird. Du lernst, wie du die Daten sammelst und analysierst, um Engpässe und Ineffizienzen zu erkennen. Noch wichtiger ist, dass ich dir zeige, wie du das System ganzheitlich betrachtest und den Tunnelblick vermeidest.
Der Inhalt ist nicht SQL Server-versionsspezifisch. Bis auf wenige Ausnahmen gilt er für alle Versionen von SQL Server 2005 bis zum bald erscheinenden SQL Server 2022 und darüber hinaus. Er gilt auch für verwaltete SQL Server-Dienste, die in der Cloud laufen.
Für wen dieses Buch ist
Wenn mich jemand nach der Zielgruppe meiner Bücher fragt, sage ich immer, dass ich für Datenbankexperten schreibe. Ich verwende diesen Begriff absichtlich - ich glaube, dass die Grenze zwischen Datenbankadministratoren, Datenbankentwicklern und sogar Anwendungsentwicklern ziemlich dünn ist. Heutzutage ist es unmöglich, in der IT-Branche erfolgreich zu sein, wenn du dich selbst einschränkst und deinen Kompetenz- und Verantwortungsbereich nicht erweiterst.
Das ist besonders wichtig bei der DevOps-Kultur. Die Teams sind selbst Herr ihres Schicksals und entwickeln und pflegen ihre Lösungen selbst. Es ist üblich, dass die Entwickler Leistungsprobleme beheben, die durch die Infrastruktur oder ineffizienten Datenbankcode verursacht werden.
Wenn du in irgendeiner Rolle mit SQL Server arbeitest - vor Ort oder in der Cloud - dann ist dieses Buch genau das Richtige für dich. Ich hoffe, dass du nützliche Informationen findest, unabhängig davon, wie dein Job heißt.
Ich danke dir noch einmal für dein Vertrauen und hoffe, dass du beim Lesen genauso viel Spaß haben wirst, wie ich beim Schreiben für dich!
Überblick über die Kapitel
Dieses Buch besteht aus 16 Kapiteln, die folgendermaßen aufgebaut sind:
- Kapitel 1, "SQL Server-Einrichtung und -Konfiguration", enthält mehrere Richtlinien und bewährte Methoden für die Auswahl der Hardware und die Konfiguration von SQL Server-Instanzen.
- Kapitel 2, "SQL Server-Ausführungsmodell und Wartestatistiken", behandelt eine wichtige SQL Server-Komponente - SQLOS - und führt dich in die gängige Fehlerbehebungstechnik namens Wartestatistiken ein. Dieses Kapitel ist der Grundstein für den Inhalt des Buches.
- Kapitel 3, "Leistung des Festplattensubsystems", gibt dir einen Überblick darüber, wie SQL Server mit dem E/A-Subsystem arbeitet, und zeigt dir, wie du seine Leistung analysierst und Fehler behebst.
- In Kapitel 4, "Ineffiziente Abfragen", geht es um einige Methoden, mit denen du nicht optimierte Abfragen aufspüren und Ziele für weiteres Abfragetuning auswählen kannst.
- In Kapitel 5, "Datenspeicherung und Abfrageoptimierung", wird erklärt, wie SQL Server mit Daten in der Datenbank arbeitet, und es werden Tipps und Techniken zur Abfrageoptimierung vorgestellt.
- In Kapitel 6, "CPU-Last", werden die häufigsten Ursachen für eine hohe CPU-Last und die Möglichkeiten zur Behebung von CPU-Engpässen erläutert.
- Kapitel 7, "Speicherprobleme", behandelt die Speicherkonfiguration in SQL Server und zeigt dir, wie du die Speichernutzung analysierst und speicherbezogene Probleme löst.
- In Kapitel 8, "Sperren, Blockieren und Gleichzeitigkeit", geht es um das Gleichzeitigkeitsmodell von SQL Server und wie man Blockierungen und Deadlocks im System behebt.
- In Kapitel 9, "tempdb-Nutzung und Leistung", werden die Nutzung von
tempdb
und bewährte Methoden zur Konfiguration besprochen. Es enthält auch einige Richtlinien zur optimalen Nutzung temporärer Objekte und zeigt, wie man häufigetempdb
Engpässe entschärfen kann. - In Kapitel 10, "Latches", geht es um Latches in SQL Server. Es werden verschiedene Fälle behandelt, in denen sie zum Problem werden können und wie man sie beheben kann.
- Kapitel 11, "Transaktionsprotokoll", gibt einen Überblick darüber, wie SQL Server mit einem Transaktionsprotokoll arbeitet und erklärt, wie man mit häufigen Engpässen und Fehlerbedingungen umgeht.
- Kapitel 12, "AlwaysOn-Verfügbarkeitsgruppen", behandelt die am häufigsten verwendete SQL Server-Hochverfügbarkeitstechnologie und häufige Probleme, auf die du bei dieser Einrichtung stoßen kannst.
- In Kapitel 13, "Andere bemerkenswerte Wartetypen", werden einige gängige Wartetypen besprochen, die in anderen Kapiteln nicht behandelt wurden.
- Kapitel 14, "Datenbankschema und Indexanalyse", gibt dir ein paar Tipps, wie du Ineffizienzen im Datenbankdesign erkennen und die Nutzung und den Zustand der Indizes bewerten kannst.
- In Kapitel 15, "SQL Server in virtualisierten Umgebungen", geht es um bewährte Methoden zur Konfiguration und Fehlerbehebung von virtualisierten SQL Server-Instanzen.
- In Kapitel 16, "SQL Server in der Cloud", wird beschrieben, wie du SQL Server in Cloud-VMs konfigurierst und nutzt. Es gibt auch einen Überblick über die verwalteten SQL Server-Dienste, die in Microsoft Azure, Amazon AWS und Google GCP verfügbar sind.
Jedes Kapitel endet mit einer "Checkliste zur Fehlerbehebung", die die wichtigsten Schritte zur Fehlerbehebung für das im Kapitel behandelte Thema enthält.
Schließlich kannst du Anhang A, "Wartetypen", als Referenz für häufige Wartetypen und Techniken zur Fehlerbehebung verwenden, wenn du während der Analyse darauf stößt.
In diesem Buch verwendete Konventionen
In diesem Buch werden die folgenden typografischen Konventionen verwendet:
- Kursiv
-
Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.
Constant width
-
Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.
Constant width bold
-
Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.
Constant width italic
-
Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.
Tipp
Dieses Element steht für einen Tipp oder eine Anregung.
Hinweis
Dieses Element steht für einen allgemeinen Hinweis.
Warnung
Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.
Code-Beispiele verwenden
Zusätzliches Material (Code-Beispiele, Übungen usw.) steht unter https://github.com/aboutsqlserver/code zum Download bereit .
Der Ordner Troubleshooting
Scripts
enthält den Satz von Azure Data Studio1 Notebooks mit Skripten zur Fehlerbehebung und Diagnose, die ich in diesem Buch verwendet habe. Außerdem findest du im Ordner Companion Materials (Books)
Beispielskripte und -anwendungen.
Wenn nicht anders angegeben, funktionieren die Skripte in allen SQL Server-Versionen ab SQL Server 2005. Allerdings werden einige Spalten der dynamischen Management-Ansicht in den alten Versionen möglicherweise nicht unterstützt und du musst sie auskommentieren.
Ich plane, die Bibliothek mit den Diagnoseskripten zu pflegen und zu erweitern - schaue in Zukunft im Repo nach Updates.
Wenn du eine technische Frage oder ein Problem mit den Codebeispielen hast, sende bitte eine E-Mail an bookquestions@oreilly.com.
Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Der Verkauf oder die Verbreitung von Beispielen aus O'Reilly-Büchern erfordert jedoch eine Genehmigung. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Genehmigung erforderlich.
Wir freuen uns über eine Namensnennung, verlangen sie aber in der Regel nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Ein Beispiel:"SQL Server Advanced Troubleshooting and Performance Tuning " von Dmitri Korotkevitch (O'Reilly). Copyright 2022 Dmitri Korotkevitch, 978-1-098-10192-3."
Wenn du der Meinung bist, dass die Verwendung von Code-Beispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter permissions@oreilly.com kontaktieren .
O'Reilly Online Learning
Hinweis
Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.
Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen erhältst du unter https://oreilly.com.
Wie du uns kontaktierst
Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Nord
- Sebastopol, CA 95472
- 800-998-9938 (in den Vereinigten Staaten oder Kanada)
- 707-829-0515 (international oder lokal)
- 707-829-0104 (Fax)
Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/sql-server-advanced aufrufen .
Schreib eine E-Mail an bookquestions@oreilly.com, um Kommentare oder technische Fragen zu diesem Buch zu stellen.
Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter https://oreilly.com.
Finde uns auf LinkedIn: https://linkedin.com/company/oreilly-media
Folge uns auf Twitter: https://twitter.com/oreillymedia
Schau uns auf YouTube: https://youtube.com/oreillymedia
Wie man den Autor kontaktiert
Du kannst mir eine E-Mail an dk@aboutsqlserver.com schicken, wenn du Fragen zum Buch oder zu SQL Server im Allgemeinen hast. Ich freue mich immer, wenn ich dir helfen kann.
Du kannst auch meinen Blog unter https://aboutsqlserver.com besuchen . Jetzt, wo das Buch veröffentlicht ist, verspreche ich, mehr zu bloggen!
Danksagungen
Zuerst möchte ich mich wie immer bei meiner Familie für ihre ständige Hilfe und Unterstützung bedanken. Das Schreiben ist für mich die perfekte Ausrede, um mich vor der täglichen Arbeit zu drücken. Ich verstehe immer noch nicht, warum ich damit durchkomme!
Außerdem bin ich Erland Sommarskog, Thomas Grohser und Uwe Ricken sehr dankbar, die bei der Durchsicht des Manuskripts großartige Arbeit geleistet haben. Ihre Beiträge haben den Inhalt erheblich verbessert und ihn in seine endgültige Form gebracht.
Erland Sommarskog arbeitet seit dreißig Jahren mit SQL Server und ist seit 2001 ein Microsoft Data Platform MVP. Er arbeitet als unabhängiger Berater in Stockholm, Schweden. Er teilt sein Wissen und seine Erfahrung gerne mit der Community. Wenn er sich nicht gerade mit SQL Server beschäftigt, spielt er Bridge und reist gerne.
Thomas Grohser ist seit über 35 Jahren in der IT-Branche tätig und seit 12 Jahren Microsoft Data Platform MVP. Er arbeitet seit 1994 mit SQL Server und hat sich auf die Architektur und Implementierung hochsicherer, verfügbarer, wiederherstellbarer und leistungsstarker Datenbanken und der zugrunde liegenden Infrastruktur spezialisiert. In seiner Freizeit teilt Thomas sein über Jahrzehnte erworbenes Wissen gerne mit der SQL Server- und Datenplattform-Community, indem er auf Benutzergruppen und Konferenzen auf der ganzen Welt spricht.
Uwe Ricken ist ein Microsoft Data Platform MVP und Microsoft Certified Master (SQL Server 2008) in Frankfurt am Main, Deutschland. Uwe arbeitet seit 2007 mit SQL Server und hat sich auf Datenbankinterna, Indizierung, Datenbankarchitektur und -entwicklung spezialisiert. Er spricht regelmäßig auf verschiedenen SQL Server-Konferenzen und -Veranstaltungen und bloggt unter http://www.sqlmaster.de.
Vielen Dank, Erland, Thomas und Uwe! Ich habe die Fahrt wirklich genossen!
Ein großes Dankeschön an meinen Kollegen Andre Fiano, einen der kenntnisreichsten Infrastrukturingenieure, die ich je getroffen habe. Ich habe im Laufe der Zeit einiges von Andre gelernt, und er hat mir auch geholfen, einige Demos für dieses Buch vorzubereiten.
Und natürlich möchte ich dem gesamten O'Reilly-Team danken, insbesondere Sarah Grey, Elizabeth Kelly, Kate Dullea, Kristen Brown und Audrey Doyle. Danke, dass ihr dafür gesorgt habt, dass mein Englisch plausibel klingt und dass ihr den Eindruck habt, dass ich Diagramme zeichnen kann!
In diesem Buch geht es um SQL Server, und ich möchte dem Microsoft-Entwicklungsteam für seine harte Arbeit an diesem Produkt danken. Ich bin sehr gespannt, wie es sich in Zukunft weiterentwickeln wird.
Zu guter Letzt möchte ich mich bei all meinen #SQLFamily-Freunden für eure Unterstützung und Ermutigung bedanken! Es ist ein Vergnügen, für so ein wunderbares Publikum zu schreiben!
Danke euch allen!
1 Du kannst Azure Data Studio von der Microsoft-Website herunterladen.
Get SQL Server Erweiterte Fehlersuche und Leistungsoptimierung now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.