Glorf.it

Glorf IT

Bedenkliches aus dem IT-Alltag

10. Mai 2007 um 22:21

Unit-Tests für Datenbank-Objekte

Ich bin derzeit total begeistert von den neuen Möglichkeiten der Unit-Tests für Datenbank-Objekte mit der neuen "Visual Studio Team Edition for Database Professionals" (DB-Pro). Einfach unglaublich, wie einfach und komfortabel das geht. Man kann für alle Datenbank-Objekte Unit-Tests erstellen. Ich mache aktuell welche für Stored-Procedures und Functions, aber man kann genauso gut Views automatisch testen.

Für "meine" etwa 50 Prozeduren habe ich schon etwa 180 Unit-Tests geschrieben. Bei Ausdenken der neuen Tests bzw. Umschreiben der alten (ich testete bislang mit einem eigenen Werkzeug) stoße ich immr wiedre auf kleinere Macken, die nach der Umstellung auf SQL-Server-2005 viel eleganter zu machen sind. Mit den Unit-Tests ist das kein Problem: Vorher Tests laufen lassen, Änderung durchführen und wieder die Tests laufen lassen. Wenn dann kein Fehler kommt, dann kann ich sicher sein, dass die Änderung klar ging.

Mit dem sehr guten Artikel "Database Unit Testing with Team Edition for Database Professionals" fiel mir der Einstieg in die Thematik sehr leicht.

Auf dem Weblog des Autors findet sich übrigens ein Beispiel, wie eigene Testbedingungen anlegen kann. Das klappt ganz gut, nachdem ich aus der Datei "SachTestConditions.extensions.xml" das Attribut "xsi:schemaLocation" vom Element "extensions" entfernt hatte.

Ein Beispiel bei SQL-Server-Central (kostenlose Anmeldung erforderlich), dass jedoch leider einige Patzer enthält, z.B fehlt in der Extension-Xml die Angabe des Attributs xmlns, ist der Artikel "Putting Unit Tests to Work".

Alleine schon wegen dieser tollen Möglichkeit rund um Unit-Tests zu SQL-Server-Datenbankobjekten würde ich jedem Datenbank-Entwickler dazu raten sich diese Edition anzuschaffen. Der Preis ist schon ganz schön hoch, aber der Zugewinn in der QS sollte dem Chef die Ausgabe wert sein…

9. Mai 2007 um 20:39

Theorie und Praxis

Heute ließ mich mein Kollege Ludwig an seinem reichen Erfahrungsschatz teilhaben:

Theorie ist, wenn man weiß, wie es funktioniert, es aber nicht konkret umsetzen kann.

Praxis ist, wenn es geht, aber man nicht weiß warum.

Wir haben Theorie und Praxis verbunden: Nichts geht und keiner weiß warum.

9. Mai 2007 um 20:15

VMware 6.0 freigegeben

Heute ist es also so weit: Ich habe noch nicht alle Features der Version 5 kapiert, da kommt auch schon die nächste Version raus. Die neuen Features klingen nicht nach einer großen Wurf, eher wie die Bereinigung von längst fälligen Problemchen:

  • Unterstützung von Windows Vista
  • Unterstützung von mehreren Bildschirmen
  • Unterstützung von USB 2.0 (Huh, das geht doch auch schon mit Version 5, oder wird das alles mit 1.1er Tempo übertragen?)
  • von bestehenden Systemen ein Image ziehen und als VM nutzen (das klingt echt nützlich)
  • Integration ins Visual Studio

Ein weiteres Feature verstehe ich nicht: "Experimental support for paravirtualized guests". Aber was solls… Bis wir in der Firma die neue Version einsetzen dürfen, dürften noch ein paar Mondzyklen ins Land gehen.

Seit heute gibt es übrigens auch eine neue Version 2.0 des VM-Ware Players zum Download. Ich fand nirgends, ob die auch die Image der 6er Version kann, würde aber mal schwer davon ausgehen…

Link: Infos zu VM-Ware 6

8. Mai 2007 um 22:17

Vergleich Aero und Beryl

Im beiliegenden Video spielt jemand mit Aero (der neuen Benutzer-Oberfläche von Vista) und Beryl (der neuen Benutzer-Oberfläche von Linux) rum. Ich finde man sieht ganz gut die jeweiligen Eigenarten der beiden Systeme.


WINDOWS VISTA AERO VS LINUX UBUNTU BERYLFunny videos are here

8. Mai 2007 um 19:16

Wenn der Sommer kommt, verabschieden sich die Platten

Ich nutze die leichte "Kälteperiode", um an ein heißes Problem zu erinnern, das nun wieder auf uns zu kommt: Festplatten verkraften keine Hitze.

Diese triviale Weisheit wird gerne vergessen oder verdrängt. Deswegen der Rat doch noch mal zu überprüfen, wo der Server mit den wichtigen Daten steht: Unter dem Dach? In einem fensterlosen Raum ohne Klimananlage? Ist ein Thermometer in dem Raum?

Natürlich ist auch ein Standort im tiefen Keller nicht immer die beste Wahl (siehe "Problem mit dem Safe"), aber dennoch sind die Hitzeperioden meiner Erfahrung nach die bedeutensten Plattenkiller.

Wir hatten beispielsweise letztes Jahr einen recht lehrreichen Fall bei einem unserer Kunden:
Im seinem Geschäft war es eines Freitags im Laufe des Tages so heiß geworden, dass er zum Feierabend mal lieber alle Rechner herunterfuhr, auch den Server. Die Rechner hatten Zeit sich zu erholen und mussten nicht die unbemannten Räume heizen. Am Montag früh wurde der Server gestartet. Wie sich herausstellte, waren da alle Datenbanken im Eimer, weite Teile der Platte übrigens auch.

Leider kannte ich zu dem Zeitpunkt noch nicht den Artikel "Hitzetod: Jeder PC ist gefährdet" aus TecChannel.

Aus den Datenbank-Dateien konnten wir keinen fachlich brauchbaren Stand mehr basteln. Tragischerweise führte der Kunde immer nur am Wochenende eine Datensicherung durch, aber da war der Server ja gestoppt…
🙁

Deswegen der Tipp: Nur abends oder am Wochenende die Kisten ausschalten reicht nicht: Man benötigt einen kühlen Standort für die Server. Auch in einem kleinen Laden.

8. Mai 2007 um 00:37

Recht haben und richtig handeln

Der jüngste Fall rund um Digg macht ganz gut deutlich, dass es einen wichtigen Unterschied macht, ob man Recht hat und /oder richtig handelt.

Auf der Sachebene geht es zunächst mal darum, dass ein paar Beiträge gegen das geltende amerikanische Recht verstoßen haben und deswegen gelöscht wurden. Das musst Digg so machen, sie hatten eigentlich gar keine Wahl. Aber dabei haben sie sich einfach falsch verhalten. Anstatt das offen und offensiv zu kommunizieren ("Sorry, wir müssen das löschen, sonst werden wir verklagt."), haben sie die Beiträge einfach gelöscht und damit den Zorn auf sich gezogen, der eigentlich den Veranlassern, in diesem Fall den Abmahnern und dem Gesetzgeber, gilt. Es wurde der Eindruck erweckt als stände Digg auf "der anderen Seite". Ich gehe davon aus, dass das nicht stimmt.
Das hätte sich vermeiden lassen: Im Zeitalter des Web-2.0 ist die offene Kommunikation einfach alles.

Mit derartig weitgehenden Protestaktionen hatten die Digg-Macher nicht gerechnet. Warum sie jetzt gleich auf der andren Seite vom Pferd fallen ist mir völlig unklar: Wollen Sie auf diese Weise demonstrieren, dass sie eben doch auf Seiten der Benutzer stehen? Wollen Sie wirklich gegen Windmühlen reiten?

Für alle, die nicht mitbekommen haben, was da los war, hier ein Kurzabriss. Eine ganz ausführliche Zusammenstellung findet sich bei computerworld.com im Artikel "Digg.com CEO says site is aligned with the users"

3. Mai 2007 um 22:38

Vergleichen für Fortgeschrittene

Auch auf die Gefahr hin, dass ich Eulen nach Athen trage: Eines der Topp-Tools das ich als erstes auf meinem neuen Rechner installierte, ist Beyond Compare.
Es gehört sogar zu dem erlesenen Kreis der käuflichen Programme, die ich auch daheim einsetze und deren Kauf ich keine Sekunde bereut habe.

Das eigentlich recht schlichte Tool vergleicht Dateien miteinander, wie das gute alte "Diff", zeigt die Unterschiede aber übersichtlich an. Bei Ascii-Files kann man sogar die Unterschiede konsolidieren, in dem man markiert was von rechts nach links oder umgekehrt kopiert werden soll.

Darüber hinaus kann man damit auch komplette Verzeichnisse (inkl. Unterverzeichnissen) mit anderen vergleichen. Und ebenfalls die fehlenden oder geänderten Dateien von rechts nach links oder umgekehrt kopieren.

Privat nutze ich es regelmäßig zum Abgleich eines lokalen Verzeichnisses mit der zugehörigen Webseite. Das ist nicht nur praktisch, wenn man zu mehreren eine Site betreut, sondern auch zur Kontrolle, ob nicht irgendein Gauner Dateien da hin geschmummelt hat, die da nicht hingehören.

Ich nutze es seit Jahren und bin ein echter Fan. Das Werkzeug braucht keinen Vergleich zu scheuen…

2. Mai 2007 um 23:13

Eine Maus zum Einstecken

Wenn man immer schon mal eine Maus haben wollte, die man in den PCMCIA-Slot stecken kann, der wird bei
Tekenstein fündig…

2. Mai 2007 um 20:03

Und dann kam Jasper

Ich bin noch nicht mal dazu gekommen mich in LINQ einzuarbeiten, da schiebt Microsoft schon das nächste Datenzugriffs-Api nach: Jasper

"Jasper" ist der Codename für "Dynamic ADO.NET 3.0" und bietet angeblich:

  • dynamische Klassengenerierung (ohne Konfiguration)
  • umfangreiches O/R-Mapping
  • automatisches Binding für ASP.NET, WinForms und WPF

Die ersten beiden Punkte lassen aufhorchen und könnten begeistern, immerhin fehlt es hier bisher immer noch ein Stückchen. Der Letzte macht es aber auch ein wenig suspekt, womöglich werden hier die Oberflächen auch wieder so stark an die Datenzugriffsklassen drangeklebt?

Warten wir es ab, interessant wird es auf jeden Fall. Infos aus ersten Hand findet man im Ado-Net-Blog.

Eine ganz hübsche Sammlung zu allen Jasper- Informationen findet man im OakLeaf-Blog: ""Jasper" to Deliver Dynamic ADO.NET 3.0"

Der Download des CTP steht seit zwei Tagen bereit. Als Vorausetzung benötigt man aber das Visual Studio (Codename "Orcas") Beta1…

2. Mai 2007 um 19:53

SQL Server 2005 Performance Dashboard

Heute habe ich mal das neue "SQL Server 2005 Performance Dashboard" installiert und damit rumgespielt. Ich bin wirklich begeistert. Die neuen Berichte sind wirklich nützlich. Ich denke, dass sollten wir zur Standard-Ausrüstung eines jeden Test-Systems erklären…

Aufmerksam wurde ich durch den Artikel "Making the Most Out of the SQL Server 2005 Performance Dashboard" bei sql-server-performance.com. Er enthält auch jede Menge Screenshots und eine sehr detaillierte Auflistung der einzelnen Berichte.

Meiner Ansicht nach sind viele der ganz wichtigen Dinge abgedeckt, ein paar Beispiele:

  • die aufwändigsten Anfragen (nach CPU-Zeit, oder IO oder Dauer)
  • Missing Indexes
  • CPU-Auslastung (gesamt und Anteil des SQL-Servers)
  • Waiting Request, kummulative Wartezeiten nach Typ,

Klingt gut? Ist gut!

Link: Download

1. Mai 2007 um 16:38

Für und wieder von Stöckchen

Als ich das letzte Kaffee-Stöckchen bekam, musste ich erst mal ganz lange in mich gehen, ob ich es fange oder einfach einen Schritt zur Seite trete. Meine Sammlung der für und wieder ist vielleicht auch für andere hilfreich. Ich habe beschlossen auf Stöckchen zu reagieren, die wenigstens entfernt mit der IT zu tun haben, solange es nicht zu viele werden.

Was sind Stöckchen?

Ein Stöckchen ist laut Wikipedia ein Online-Kettenbrief, hat aber ein paar interessante Aspekte, die ihn aus der suspekten Ecke hervor holen.

Das Stöckchen enthält eine Liste von Fragen zu einem bestimmten Thema, dass hoffentlich zum Thema des Blogs passt. Die Fragen werden vom Blogbetreiber beantwortet und dann an mehrere andere Blogger weitergereicht.

Wie funktionieren Stöckchen?

Jemand entwirft oder fangt ein Stöckchen indem er die Frageliste als Blogbeitrag veröffentlich und auf de Fragen antwortet.

Danach hinterlässt man einen Trackback im Beitrag des "Absenders", ersatzweise tut es auch ein Kommentar dort, damit andere auf den Beitrag aufmerksam werden.

Anschließend wird das Stöckchen gezielt weiter geworfen:

  • Die Empfänger werden handverlesen ausgesucht und kontrolliert: hat sie/er das Stöckchen nicht vielleicht doch schon bekommen? Passt das Thema des Stöckchen zu ihr/ihm? Will sie/er vielleicht gar keine Stöckchen bekommen?
  • Die Empfänger werden namentlich genannt und verlinkt.
  • Manche schicken dem Empfänger auch eine Mail mit dem Hinweis auf das Stöckchen. Das kommt SPAM aber schon nahe und ist vergleichsweise aufdringlich. Das Fangen soll ja freiwillig sein.

Jetzt muss man abwarten, ob das Stöckchen gefangen und weiter geworfen wird. Der Empfänger kann ab und an kontrollieren, wer auf ihn verlinkt oder sowieso den Absender-Blog lesen.

Welche Chancen bieten sich durch Stöckchen?

  • Ich habe den Verdacht, dass sich Stöckchen ursprünglich entwickelten, um den "Score" bei Technorati zu steigern. Und das tut es ja sogar tatsächlich, wenn auch in recht geringem Maße.
  • Man erfährt Dinge über den Blogger, die man auf andere Weise möglicherweise nicht erfahren würde. Damit kann der Leser sein Bild über den Schreiber abrunden.

Welche Schattenseiten haben sie?

  • Leute, die einen Blog zu einem bestimmten Thema betreiben, laufen Gefahr ihre Leser mit Dingen zu langweilen, die sie nicht interessieren.

Welche weiteren Punkte seht Ihr?

1. Mai 2007 um 16:28

Microsoft Diagnostics and Recovery Toolset

Als ich mir den Link hinter dem Link in Spencers Kommentar ansah, wurde mir bald klar, dass ich dem "Microsoft Diagnostics and Recovery Toolset" einen eigenen Eintrag widmen sollte. Also erst mal besten Dank, Spencer.

Die 30-Tage-Testversion wurde am 27.4.2007 bereit gestellt. Microsoft schreibt zum "Microsoft Diagnostics and Recovery Toolset":

This product provides powerful, intuitive tools that help administrators recover PCs that have become unusable, and easily identify root causes of system issues.

This toolset is part of the Microsoft Desktop Optimization Pack.

Positioniert wird das für Windows 2000 und XP.

Inhaltsstoffe:

  • ERD Commander – Windows von CD booten
  • System Restore – auf Wiederherstellungspunkte aufsetzen, wenn Wndows nicht mehr startet
  • Crash Analyzer – Crashes auch dann analysieren, wenn Windows nicht startet. Deswegen vermutlich der Link von Spencer
  • FileRestore – gelöschte Dateien entlöschen
  • Insight for Active Directory – Active-Directory-Transaktionen ansehen
  • DiskWipe – Sicher Festplatten aus dem System entfernen, ich vermute im Sinne von "Datenwerden überschrieben"
  • Disk Commander – "recover deleted partitions, directories, and/or files"
  • Hotfix Uninstall

Quelle: "Microsoft Diagnostics and Recovery Toolset".

Interessant sind möglicherweise auch weitere Infos zum "Microsoft Desktop Optimization Pack".

Dabei muss ich noch bemerken, dass ich das Teil nicht selber ausprobiert habe. Allein durch die Neugier kamen mir obige Infos in die Finger. Dennoch komme ich zum Schluss, das die Werkzeuge für alle professionellen Admins sehr nützlich sind.

Hat damit schon jemand Erfahrungen gesammelt?