Einleitung
In der Arbeit als IT-Consultant oder Datenbankadministrator:in wird man täglich mit den unterschiedlichsten Problemen in einer bestehenden IT-Infrastruktur konfrontiert. Über die Jahre hinweg lassen sich jedoch die häufigsten Probleme identifizieren, welche wir Ihnen in den folgenden Absätzen erläutern werden. Nicht immer sind diese Probleme leicht zu beheben, wenn sie erst einmal entstanden sind. Trotz allem gibt es jedoch die eine oder andere Hilfestellung um der Entstehung der Probleme vorzubeugen oder sie gänzlich zu vermeiden.
Gerade hinsichtlich der Sicherheit, der Kosten und der Risiken empfiehlt es sich, stetig seine Umgebung entweder selbst zu prüfen, oder sie fachgerecht prüfen zu lassen, sodass sie zu jeder Zeit geschäftsfähig bleiben können.
1. Indizes
Indizes sind mit am Häufigsten für SQL Server Probleme verantwortlich. Das Hauptproblem hierbei ist die hohe Fehlerquote im Zusammenhang mit ebendiesen Indizes wie zum Beispiel fehlende Indizes, falsche Indizes, zu viele oder zu wenige Indizes, alte Statistiken oder auch eine mangelhafte Indexpflege. All das kann zu schwerwiegenden Performance Problemen führen.
2. Datenbankdesign
Eigentlich ist es ganz einfach. Eine herausragende Datenbankleistung resultiert aus einem herausragenden Datenbankdesign. Jedoch kann auch hier der User einige Fehlentscheidungen treffen, die zu problematischem Verhalten von SQL Server führen. Beispiele sind hier die Auswahl ungeeigneter Datentypen, die Verwendung verschachtelter Views, fehlende Datenarchivierung oder relationale Datenbanken ohne Primär- & Fremdschlüssel. Die Herausforderung ist also, die Datenbanken so zu entwerfen, dass sie zukunftsfähig sind und langfristig performen. Oftmals führen schlechte Datenbankdesigns zu jahrelanger schlechter Performance, die man durch immer bessere Hardware zu verbessern sucht.
3. Code
Die Diagnose “Schlechter Code” ist eigentlich subjektiv. Denn jede:r hat ein anderes Empfinden für guten bzw. schlechten Code. Trotz allem lassen sich einige mangelhafte Entscheidungen identifizieren, wie beispielsweise implizite Typkonvertierung oder falsche Abhängigkeiten. Unzureichender Code kann zu Parallelitätsproblemen führen, die schließlich zu Blockierungen, Sperren und Deadlocks führen können.
4. Object-Relational-Mapping (ORM)
Die sogenannten ORM Tools können bei richtiger Anwendung sehr gut in der Zusammenarbeit mit Datenbanken funktionieren. Oftmals gibt es jedoch das Problem, dass die Anwendung fehlerhaft ist und somit zu schlechter Leistung und Ressourcenverschwendung führt. So großartig sie auf der einen Seite sind, so schädlich können sie auf der anderen Seite sein. Die Schwierigkeit ist, dass ORMs so konzipiert sind, dass der Code, den sie generieren, auf allen Datenbankplattformen funktionieren muss. Oftmals ist aber der Fall, dass der generierte Code auf keiner Plattform besonders gut funktioniert und immer wieder zu Fehlern neigt. Auch implizite Konvertierungen können Fehler verursachen, indem sie Indizes falsch bzw. gar nicht verwenden. Empfehlenswert ist es, ein ORM Tool zu implementieren, welches über eine gespeicherte Prozedur auf die Daten zugreift.
5. Standardkonfigurationen
Es ist in der Regel ziemlich einfach immer auf Weiter und Akzeptieren zu klicken. Wenn man jedoch die Optionen der Standardkonfiguration nicht versteht, könnte das Probleme mit sich bringen. Nicht alle Standardkonfigurationen funktionieren immer passend. Im Vorhinein sollte man sich immer Gedanken über die genaue Verwendung machen und entsprechende Parameter anpassen.
Fazit
In diesem kurzen Artikel haben wir Ihnen häufig vorkommende Probleme und Fehlerquellen in der Arbeit mit Datenbanken vorgestellt. Es lässt sich definitiv nicht nur auf die 5 Probleme begrenzen. Weitere auch teilweise schwerwiegende Probleme sind folgende:
- Einsparen von Foreign Keys und kaskadierendes Löschen von Tabelleneinträgen. Hier liegen beispielsweise schwerwiegende Designprobleme vor, da hier Sperren auf Tabellenebene gesetzt werden und damit die Deadlock Gefahr relativ hoch ist. Als Lösung müssen die Löschoperationen ausprogrammiert werden, was natürlich aufwendig ist.
- Falsches oder fehlendes Backup-Konzept
- Fehlende Überprüfung der Backups. Es gibt Unternehmen die täglich ein Backup erstellen und im Notfall erkennen müssen, dass ihr Backup nicht verwendet werden kann oder wegen des Simple-Mode die Daten eines ganzen Tages nicht wiederhergestellt werden können.
- Vernachlässigung von Upgrade und Update Aktivitäten
Wie Sie Ihre Umgebung bestenfalls konfigurieren und designen, erklären Ihnen gerne unsere Experten in einem unverbindlichen Erstgespräch. Wir untersuchen mittels unseres Assessment-Tools Ihre Umgebung auf Herz und Nieren und erstellen Ihnen im Anschluss eine passende Optimierungsvariante. Kontaktieren Sie uns dafür gerne unverbindlich über unser Kontaktformular. Wir freuen uns von Ihnen zu hören!