db-berater-server-2

SQL Server Blog

Installation | Konfiguration | Optimierung von Microsoft SQL Server

Heaps – NonClustered Indizes

Im vorherigen Artikel “Heaps – Lesen von Daten” wurden die Möglichkeiten beschrieben, wie die Performance für das Auswählen von Daten aus einem Heap optimiert werden kann. Dieser Artikel beschreibt die Möglichkeit, mit Hilfe von NonClustered Indexes ebenfalls effektive Abfragezeiten für Heaps zu erreichen.

mehr lesen

Heaps – Lesen von Daten

Heaps sind nicht unbedingt des Entwicklers liebstes Kind, da sie insbesondere bei der Auswahl von Daten nicht sehr performant sind (so denken die meisten!). Sicherlich ist da etwas Wahres dran – aber letztendlich entscheidet immer der Workload. In diesem Artikel beschreibe ich die Arbeitsweise eines Heaps, wenn Daten selektiert werden.

mehr lesen

Heaps – Systemstrukturen

Dieser Artikel beschäftigt sich mit den – für Heaps relevanten – internen Strukturen einer Datenbank, die wichtig sind, um Vor- und Nachteile von Heaps für die einzelnen Anwendungsszenarien zu erkennen.

mehr lesen

Heaps – Grundlagen

Heaps werden in Microsoft SQL Server gemieden, wie der Teufel das Weihwasser meidet. Das liegt unter anderem daran, dass viele Blogartikel renommierter Experten darauf hinweisen, dass eine Tabelle nach Möglichkeit einen Clustered Index verwenden soll. Dabei werden teilweise Aspekte nicht berücksichtigt, die eine solche Entscheidung in Frage stellen könnten.

mehr lesen

Datentypen bei Prädikaten beachten

Kennen Sie das Problem, dass Sie einen Index für eine Tabelle implementieren und die Abfrage dennoch nicht besser wird? Ursächlich ist in solchen Fällen häufig die Verwendung von falschen Datentypen für die Prädikate, die in einer WHERE-Klausel oder einem JOIN verwendet werden. In diesem Artikel beschreibe ich, wie wichtig es ist, dass man auf Datentypen achten sollte.

mehr lesen

Database Scoped Configuration: Parameter Sniffing

Parameter Sniffing ist sicherlich eine häufig zu beobachtende Problemstellungen, mit denen sich Programmierer als auch Datenbankadministratoren beschäftigen (müssen). Mit Einführung der datenbankspezifischen Konfigurationselemente gibt es Möglichkeiten, dieses Problem auf Datenbankebene zu “optimieren”.

mehr lesen

Database Scoped Configuration: Max Degree of Parallelism

In einem Workshop, den ich mit einem Kunden – auf Grund der aktuellen Situation – remote durchgeführt habe, kam unter anderem die Frage auf, ob Einstellungen, die explizit für Datenbanken vorgenommen werden können (Database Scoped Configuration) durch gleiche Einstellungen auf Ebene des Servers überschrieben werden. In diesem Fall ging es konkret um die Konfigurationseinstellungen für Parallelisierung. Ich habe hierzu diverse Tests durchgeführt und in diesem Artikel veröffentlicht.

mehr lesen

Optimierung von Dynamics 365

Im letzten Monat bin ich bei einem Kunden im Einsatz gewesen, der Microsoft Dynamics 365 im Einsatz hat. Trotz optimaler Hardware und sehr gut konfiguriertem Microsoft SQL Server konnten Daten aus dem Änderungsprotokoll für Kundeninformationen nicht eingesehen werden da die Abfragen in einen Timeout liefen. Die Aufgabe bestand darin, die Probleme zu erkennen, analysieren und mit einer probaten Lösung zu beheben. Ich bin kein Experte für Dynamics 365 aber dieser Artikel soll zeigen, wie man Probleme, die im Zusammenhang mit Microsoft SQL Server stehen, angehen kann, um anschließend mögliche Lösungen implementieren u können

mehr lesen

Probleme mit BACPAC-Dateien und Statistiken

Vor kurzem erreichte mich die Email eines Teilnehmers von einem Workshop. In der Email wurde beschrieben, dass eine Abfrage, die in einer Datenbank [A] sehr schnell ausgeführt wird, nach dem Import auf dem gleichen Server als “Data Tier Application” ein sehr viel schlechteres Laufzeitverhalten aufwies, obwohl die neu erstellte Datenbank auf dem gleichen Server mit der gleichen Kompatibilitätseinstellung implementiert wurde.

mehr lesen