Der neue Microsoft SQL Server 2008 ist mit Sicherheit ein absoluter Gewinn und mit ihm das verbesserte Microsoft SQL Server Management Studio (SSMS). Aus diesem Grunde schaffte er es bei der Neuinstallation meines Rechners, nach gestrigem Plattencrash, auf die neue Festplatte, obwohl ich bislang nur mit 2000er- und 2005er-Datenbanken zu tun habe.
Das Management von Datenbanken älterer Generation stellt das Management Studio nicht wirklich vor Probleme, aber ich staunte nicht schlecht, als ich mich mit dem Tool auf die Datenbanken meiner Webseiten verbinden wollte. Da mein Provider mir nicht eine eigenen SQL-Server zur Verfügung stellt, sondern ich ihn mir mit einigen anderen Webmastern teile, ist die Liste der Datenbanken im Objekt-Explorer nach dem Verbinden recht lang und ich musste, zumindest war es mit dem alten Management Studio 2005 so, einfach runter zu meiner Datenbank scrollen und gut ist...
(klicken zum vergrößern)SSMS 2008 hingegen verweigerte mir das Browsen der Datenbanken auf dem Server, weil es meinte, ich hätte nicht genügend Rechte an der Datenbank XYZ. Das mag so sein, da diese Datenbank einem anderen Webmaster gehört, aber trotz alledem musste ich ja irgendwie zu meiner gelangen, d.h. die Liste der verfügbaren Datenbanken sehen?
Nach etwas Recherche in einschlägigen Foren, stellte sich heraus, daß die SMSS-Entwickler dem neugestalteten Formular Details zum Objekt-Explorer, das man mit F7 erreicht sobald man sich auf eine Datenbank verbunden hat, mehrere neue Spalten mit Datenbankinformationen spendiert haben. Unter anderem auch die Information über die Sortierung einer Datenbank.
Dumm nur, dass die Sortierung nicht ermittelt werden kann, wenn eine Datenbank offline ist ODER man keine Rechte an der Datenbank besitzt. Das wäre nicht weiter schlimm, wenn die Mannen aus Redmond sich nicht entschieden hätten das Feld nach der Installation des Tools standardmäßig einzublenden.
(klicken zum vergrößern)Lösung
Sobald man sich auf den Server verbunden hat, F7 drücken (oder Menü Ansicht - Details zum Objekt-Explorer) und über das Kontextmenü des Tabellenkopfes (Spaltenbezeichnungen) die Spalte Sortierung abwählen. Nach der Aktualisierung der Sicht listet SMSS wieder alle verfügbaren Datenbank auf.
(klicken zum vergrößern)Jedes Programm basiert irgendwo auf Daten, die in Datenbanken vorgehalten werden. Möchte man diese Daten als Entwickler abrufen, kann man dies mit der Datenabfragesprache SQL tun. Jeder Datenbankhersteller setzt dabei, aufbauend auf dem SQL-Sprachstandard, auf einen eigenen Dialekt (Microsoft T-SQL, Oracle-SQL, und so weiter), dessen Funktionsumfang der eigenen Datenbank angepasst ist.
SQL-Code zu schreiben ist nicht besonders schwierig, wenn man die grundlegenden Methoden erst einmal kennt. Was aber für manche Entwickler oftmals schwierig zu sein scheint, ist eine einigermaßen lesbare Formatierung des Codes einzuhalten. Das haben wohl alle Sprachen gemeinsam. Ruckzuck entsteht Spaghetti-Code, der weder lesbar noch wartbar ist.
Einen Lösungsansatz hierfür kommt von Guido Thelen aus dem schönen Gross-Gerau ;). Er hat mit SQLinForm einen SQL-Formatierer in Java geschrieben, der sowohl in einer Online-, als auch in einer Desktop-Version erhältlich ist. Beide in englischer Sprache.
Neben 9 verschiedenen SQL-Dialekten, bietet das Tool eine unerschöpfliche Anzahl an Optionen mit denen man den eigenen Code in Form bringen kann. Herauszuheben wäre dabei unter anderem die automatische Einrückung von JOIN-Statements, die Definition von eigenen Keywords für die Groß- respektive Kleinschreibung oder die entsprechende Kolierung des Codes für die HTML-Ausgabe.
Ein richtiges cooles Tool, mit dem selbst dem größten Format-Muffel dieser notwendige Akt des kollegialen Friedens leicht von der Hand geht.
Einige ASP.NET-Controls besitzen die Möglichkeit zum seitenweisen Anzeigen der übergebenen Daten (Paging), was auf den ersten Blick sehr sinnvoll ist, um dem Benutzer nicht endlos scrollen lassen zu müssen. Ein Klick auf "nächste Seite" und die nächsten 20 Treffer werden angezeigt. Auf den ersten Blick eine schicke Sache, auf den zweiten aber nicht besonders effizient, denn die gesamten Daten, werden von der ASP.NET.Applikation im Speicher gehalten!
Die bessere Alternative ist ja wohl, sich immer nur die Datenmenge vom Datenbank-Server zu holen, die in dem Moment gebraucht wird, also SQL-Server-Paging zu implementieren.
Bis einschließlich SQL-Server 2000 war ein effizientes serverseitiges Paging mittels T-SQL nicht immer ein Vergnügen. Entweder man pumpte die Daten über eine Stored-Procedure in temporäre Tabellen und ließ sich den Teil der Daten zurückgeben den man gerade brauchte oder man erzeugte dynamisches SQL, was auf die Dauer nur sehr schlecht wartbar war.
Mit der Veröffentlichung der 2005'er-Version des SQL-Servers hielt ein Feature Einzug, daß sich wunderbar für Paging nutzen lässt: ROW_NUMBER.
weiterlesen...
Microsofts SQL Server 2005 bietet, neben der altbekannten T-SQL-Programmierung auch die Möglichkeit .NET-Code auszuführen, als entweder C# oder VB.NET.
Im Auslieferungszustand ist diese Möglichkeit allerdings zunächst nicht aktiviert. Hier zwei Alternativen, um dies zu ändern.
weiterlesen...
(klicken zum vergrößern)Die Entwicklung des Web schreitet rasant voran und die eingesetzte Technik wird immer benutzerfreundlicher. War es bislang manchmal ein rechter Krampf mit
phpMyAdmin eine MySQL-Datenbank zu administrieren, so springt nun die
TurboAJAX Group in die Bresche und entwickelt mit dem
TurboDBAdmin 0.2 die AJAX-basierte Umsetzung einer bedienungsfreundlichen Oberfläche zur Datenbankadministration.
Die niedrige Versionnummer belegt zwar, dass die Entwickler noch lange nicht den Funktionsunfang anderer Tools erreichen, aber der Ansatz ist sicherlich interessant.
weiterlesen...