
SQL Server Blog
Installation | Konfiguration | Optimierung von Microsoft SQL Server
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.
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.
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“.
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.
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
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.
Einbruch in Microsoft SQL Server mit Hilfe von Reporting Services
In der letzten Woche sollte ich einen Microsoft SQL Server untersuchen, um mögliche Performance-Engpässe zu identifizieren. Dazu lasse ich in der Regel mit Hilfe von Skripten bestimmte Messwerte (Drive Latency, Wait Stats, etc.) ausgeben. Um jedoch an die Messwerte zu...
HEAP Allokation und PFS
Die Inspiration für diesen Artikel habe ich beim zufälligen Surfen durch die Weiten des Internets erhalten, als ich ein Video gesehen habe, in dem es um die Speicherung von Daten in Microsoft SQL Server ging. In den Demos hat der Autor des Videos jedoch einen kleinen aber extrem wichtigen Hinweis vergessen; er verwendet für die Demos einen HEAP.
Flexible Parameterübergabe als Filterkriterien für dynamisches SQL in Stored Procedures
Während der Besprechung zu einer Projekterweiterung wurde ein Problem besprochen, dass sehr häufig anzutreffen ist – Konkatenation eines SQL-Strings “am Client” und Versand und Ausführung am SQL Server, um die Daten zu ermitteln. Ich habe vorgeschlagen, die komplette...
OPTIMIZE FOR UNKNOWN eine schlechte Lösung bei schlechter Verteilung von Daten
In den letzten Wochen bin ich immer wieder auf Abfragen aus Applikationen gestoßen, die als Abfragehinweise OPTIMIZE FOR UNKNOWN verwendet haben. In den untersuchten Applikationen wird diese Technik “inflationär” benutzt. Leider haben die Programmierer bei der...