Datenbank Tipps und Tricks
Nützliche Ratschläge zum effizienten Umgang mit Microsoft SQL Datenbank Servern für Administratoren und Entwickler.
Invalid prefix or suffix characters
Beim Versuch, im SQL Server Management Studio die Daten einer Tabelle mit dem Kontext Menü Punkt "Edit Top 200 Rows" erscheint die Fehlermeldung "Error Invalid prefix or suffix characters"
Die Lösung ist relativ einfach, das Problem passiert aber dennoch ziemlich oft bei Migrationen. Es wurde einfach eine zu alte Version verwendet vom Management Studio für die Zieldatenbank. Beispiel: Management Studio 2008 R2 auf SQL Server 2014. In dem Fall einfach die neuere Management Studio Version mit installieren und nutzen. Auch wenn man eine Express Edition nutzt, gibt es ein Management Studio im richtigem Packet.
Hierarchische Strukturen
Mal angenommen, Ihre Entwickler sollen Daten auf einer Website Daten hierarchisch darstellen/laden. Die meisten Entwickler würden hergehen und 100% der Daten laden und im Code durch schleifen, rekursiv aufgerufene Funktionen/Methoden (oder was auch immer) laden und ggf. sogar Daten "wegschmeißen" welche gar nicht in die Hierarchie passen weil verwaist. Was man dann halt auch erst merkt, wenn die Hierarchie geladen wurde.
Das belastet unnötig die Datenbank und ebenfalls die CPU und Speicher des Frontend / Web Servers. Ein leider relativ unbekanntes Gegenmittel wären die CTE (Common Table Expression) mit der die Struktur im SQL Server zusammengebaut wird, und das alles ganz ohne böse Cursor. Und nun 2 Artikel um CTE´s effizient im SQL Server anzuwenden:
http://msdn.microsoft.com/de-de/library/ms190766(v=sql.105).aspx
http://blog.sqlauthority.com/2008/07/28/sql-server-simple-example-of-recursive-cte/
Für Administratoren hat das natürlich den großen Vorteil, dass weniger aus der Datenbank "gesaugt" wird und im Frontend Ressourcen geschont werden. Das bisschen mehr an CPU Load auf der DB sollte kein Problem darstellen denn das ist ja meistens nicht der Flaschenhals auf einem Datenbankserver.