SQL Server Blog
Installation | Konfiguration | Optimierung von Microsoft SQL Server
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...
Eigene Systemprozeduren im Kontext der aktuellen Datenbank
Weitläufig versteht man als “Systemprozedur” in Microsoft SQL Server eine Stored Procedures, die in der master-Datenbank gespeichert wird und mit dem Präfix ‘sp_’ beginnt”. Alle Objekte in der master-Datenbank mit diesem Präfix können aus jeder beliebigen Datenbank aufgerufen und verwendet werden.”; auch das ist eine weit verbreitete Aussage, die so – pauschal – nicht richtig ist; oder anders ausgedrückt nicht immer das gewünschte Ergebnis liefert. Der folgende Artikel zeigt die Besonderheiten bei der Verwendung von Systemobjekten auf und welche Dinge zu beachten sind, wenn man mit gleichen Objekten in unterschiedlichen Schemata arbeitet.
Inside the engine – Feste Typenlänge wird variable Typenlänge
In einem Forenbeitrag der deutschen msdn SQL Server Foren wurde ein Problem beschrieben, bei dem die nachträgliche Konvertierung eines Attributs mit fester Zeichenlänge dazu führt, dass in der Ausgabe der Daten die Informationen mit Leerzeichen aufgefüllt werden. Das es sich hierbei um ein “normales” Verhalten von Microsoft SQL Server handelt, beschreibt der nachfolgende Artikel.
Inside the engine – Erstellung eines Fremdschlüssels
In einem Forumsbeitrag auf msdn wurde gefragt, wie genau Microsoft SQL Server vorgeht, wenn eine Fremdschlüsselbeziehung implementiert werden muss. Insbesondere ging es dabei um die Frage, welche Sperren Microsoft SQL Server setzt und welchen Einfluss diese Sperren...