Glorf.it

Glorf IT

Bedenkliches aus dem IT-Alltag

31. Juli 2009 um 20:10

Geld verbrennen

Wer den Eindruck hat, dass eine Besprechung bloße Zeitverschwendung ist, der kann ja mal diesen "Meeting Ticker" bei einer Besprechung benutzen. Nach einer gewissen Zeit dürfte es schwierig werden oberflächliche Besprechungen mit mehr als 5 Personen zu rechtfertigen…

Da merkt man erst mal, wie teuer sowas ist. 😉

PS: Besser nicht zu ernst nehmen, sonst werden bald alle vordergründig "unproduktiven" Zeiten auf den Prüfstand gestellt.

31. Juli 2009 um 00:12

Heute ist "SysAdmin Day"

Wie immer am 31.7. ist auch heute der "System Administrator Appreciation Day"! Eine gute Gelegenheit sich mal bei Eurem SysAdmin zu melden und sich für die treuen Dienste zu bedanken. Solltet Ihr hingegen mit entarteten Gesellen dieser Spezies zu tun haben, dann lest lieber ein paar Stories vom BOFH: die kompletten Geschichten gibt es hier.

29. Juli 2009 um 22:04

Prozeduren droppen

Neulich fragte mich ein Kollege, ob es sicherer sei die Existenz von Prozeduren auf herkömmliche Art zu prüfen und dann ggf. zu löschen:

IF schema_id('DDLMaster') IS NULL
EXEC ('CREATE SCHEMA [DDLMaster];');
go
IF object_id('[DDLMaster].[p_version]') IS NOT NULL
DROP PROCEDURE [DDLMaster].[p_version];
go
CREATE PROCEDURE [DDLMaster].[p_version]
AS
SELECT @@version

Oder doch einfach mal testweise zu löschen:

BEGIN TRY DROP PROCEDURE [DDLMaster].[p_version] END TRY
BEGIN CATCH END CATCH
go
CREATE PROCEDURE [DDLMaster].[p_version]
AS
SELECT @@version

Ich muss ehrlich sagen, dass ich keine Ahnung habe, was besser ist. Risiken und Nebenwirkungen sind auch gleich verteilt. Für mich ist es daher einfach Geschmackssache.

Die letzte Art sah ich erstmals bei meinem Kollegen Diethard vor ein paar Jahren und fand sie gleich sympatisch. Einfach weil das so abgedreht ist. Dennoch verwende ich immer noch die gute alte Überprüfung mittels IF. Im Normalfall sind bei unseren Skripten die Objekte schon da und daher dürfte die zweite Methode einen Tick schneller sein. Andererseits sind die SQL-Server heutzutage so schnell, dass wir hier über wenige Millisekunden reden… 😉

Beide Tricks gehen übrigens auch für andere Datenbank-Objekte.

28. Juli 2009 um 22:15

Flashmob grundsätzlich verbieten?

Wenn man sich die Aufregung um Flashmobs so anschaut, dann ist das für mich wieder so ein Beispiel wie Politiker vorbei an den modernen Realitäten reagieren. Natürlich ist es nicht in Ordnung, wenn ein paar tausend Menschen ihren Müll rumliegen lassen. Das gilt für die Love-Parade wie für den Flashmob auf Sylt. Dennoch ist es Blödsinn Blödsinn zu verbieten. Wenn jemand dazu aufruft auf dem Marktplatz zu picknicken, dann ist das für mich genauso wenig eine öffentliche Versammlung, wie die üblichen Siegesfeiern nach einem Fußballländerspiel. Und das nervt wegen der dämlichen Huperei wirklich… 😉

28. Juli 2009 um 22:09

Rauchschlauch?

Die Kreativität kennt keine Grenzen. In Deutschland würde man sich fragen, ob die türkische Lösung mit dem Rauchverbot erlaubt wäre. Denn wenn das Rauchen in dem Lokal untersagt ist, dann ist es egal, ob die Zigarette draußen ist und der Rauch per Schlauch eingesogen wird. Aber in der Türkei reicht es offenbar, dass die Zigarette draußen ist und der Rauch rausgepustet wird…

27. Juli 2009 um 23:16

Datenpanne mit Kreditkarteninfos

Von mehreren tausend Webshops wurden die Kreditkarten-Daten der Kunden abgegriffen. Das finde ich schon verschärft. Damit lässt es sich lange einkaufen. Immerhin wollen sie die betroffenen Kunden informieren (was dort gesetzlich vorgeschrieben ist) und Unterstützung durch Überwachung der Konten bieten (was sie freiwillig machen). Unter dem Strich geht der Umgang mit solchen Pannen in die richtige Richtung…

Details stehen bei heise online

25. Juli 2009 um 14:49

Nicht wählen

Über Heise.de wurde ich auf den Clip "Nicht wählen aufmerksam". Er gefällt mir.

Update 29.7.2009: Hier ist auch die versprochene Fortsetzung.

Aber noch besser finde ich aber die amerikanischen Vorbilder:

24. Juli 2009 um 20:48

Schade um das SQL Server Magazine

Die letzten Ausgaben des SQL Server Magazine wurden immer dünner. Sowohl vom Umfang als auch von der Qualität der Artikel. In letzter Zeit wird den Lösungen der Leser ein immer größerer Stellenwert eingeräumt. Ich habe den Verdacht, dass es hier gar nicht darum geht eine Community aufzubauen, sondern eher die Seiten billig zu füllen. Leider fand ich die Lesertipps bisher eher nicht so interessant. Von den Autoren sind die Artikel von Itzik Ben-Gan zweifellos am besten. Sie sind einfach gut recherchiert. Allerdings werden seine Artikel so gestreckt und gedehnt, dass ein Thema auf drei oder vier Monatshefte aufgeteilt wurde. Das macht es dann schon wieder uninteressant. Da kann man sich lieber eines seiner Bücher kaufen…

Mittlerweile scheint auch das elektronische Medium der Zeitschrift den Bach runter zu gehen. Gestern bekam ich über deren Newsletter eine Mail in dem ein Artikel von Ben-Gan aus dem Jahre 2006 als Aufmacher und Betreff verwendet wurde: "Calculating the Median Gets Simpler in SQL Server 2005 ". Der Artikel beginnt mit den Worten "SQL Server 2005 introduces several new T-SQL enhancements". Der Artikel war damals gut, ohne Frage. Aber da jetzt das CTP vom SQL Server 2008 R2 vor der Tür steht, ist das schon nicht mehr ganz so eine bahnbrechende Neuheit…

23. Juli 2009 um 19:37

T-SQL-Bücher von Itzik Ben-Gan zum SQL-Server-2008

Zufällig bemerkte ich, dass Itzik Ben-Gan seine TSQL-Bücher auf den SQL-Server-2008 aktualisiert hat.

Inside Microsoft SQL Server 2008: T-SQL Querying von Itzik Ben-Gan, Lubor Kollar und Dejan Sarka, 38 Euro

Microsoft® SQL Server® 2008 T-SQL Fundamentals PRO-Developer von Itzik Ben-Gan, 38 Euro

Beide Bücher sind sehr detailliert geschrieben und ausgezeichnet recherchiert. Wer allerdings die Vorgängerversionen zum "SQL Server 2005" hat, muss die Bücher nicht unbedingt kaufen.

23. Juli 2009 um 19:18

Software als Beilage im Juli

Auch in diesem Monat fand ich ein paar Vollversionen als Beilagen von Computerzeitschriften. Ich habe wieder nur die aufgeführt, die als Vollversionen gekennzeichnet waren, nicht ohnehin kostenfrei im Internet zugänglich sind und mehr sind nur ein kleines Tool. Falls eine Versionsnummer angegeben wurde, dann gebe ich sie auch wieder.

PC-Welt 8/2009:

  • Drive Copy 9.0 PE
  • Steganos Safe 2007
  • Website X5 Smart Edition 8
  • Everest Ultimate Edition 4.60
  • G-Data Internet Security 2008 (wie letzten Monat: PC-Welt-Edition, nur auf DVD)

Chip 7/2009:

  • MP3videoraptor 3
  • Burning Studio 2009
  • SystemUp Undelete 2009
  • Ashampoo Burning Studio 2009 Advanced (nur auf DVD)
  • Wahrig Digital Fremdwörterlexikon (nur auf DVD)

PC Magazin 8/2009 (Die DVD enthält auch diesmal sehr, sehr viele frei zugängliche Tools.):

  • All My Movies 5.3
  • Ashampoo Magical Snap 2
  • DVDneXtCOPY iTurns FREE
  • Registry First Aid 6
  • Xilisoft iPod zu PC
  • YouCam 1.0

PC Go 8/2009 enthält wieder eine recht ähnliche Liste an Vollversionen, wie PC-Magazin:

  • All My Movies 5.3
  • Ashampoo Magical Snap 2
  • Paragon Festplattenmanager Manager 9.0 Ultimate
  • Xilisoft iPod zu PC
  • YouCam 1.0

Computer Bild 16/2009: Da sind diesmal sehr viele frei verfügbare Tools drauf, aber ich erkannte keine Vollversion.

PC Praxis 8/2009 (PDF): enthält angeblich 30 Vollversionen, die aber nicht namentlich genannt werden.

Ergänzungen sind willkommen…

alte Listen:

Update 29.7.2009: Bei der Chip wurden zwei Beilagen der DVD-Ausgabe ergänzt.

22. Juli 2009 um 22:11

Cluster-Offensive Bayern 2009

Meine Kollegin Beate machte mich heute auf die Cluster-Offensive Bayern 2009 aufmerksam. Da wir beruflich in den letzten Jahren öfter mit Kunden zu tun hatten, die Cluster-Systeme bereits einsetzten, war ich schon erfreut zu sehen, dass diese Initiative von höchster Stelle in Bayern gefördert wird. Die Vortragsthemen sind:

  • Mit Innovationen aus der Krise – Cluster als Schwungrad der bayerischen Wirtschaft
  • Cluster Offensive Bayern – Vorsprung für Unternehmen
  • Vernetzung als Erfolgsstrategie – die Rolle der Wissenschaft in der Clusterpolitik
  • Cluster – Wachstumskerne der Zukunft

Wem jetzt Zweifel gekommen sind, worum es dabei geht, dem hilft ein Blick auf die Referentenliste… 😉

21. Juli 2009 um 21:17

Command-Timeout hinterlässt offene Transaktionen

In der gestrigen Liste kommen jede Menge Timeouts vor, die zu einer Fehlermeldung bei der Bearbeitung von SQL-Befehlen führen können. Heute stellten wir fest, dass ein "Command Timeout" in der Anwendung (also am Client) am SQL-Server zu offenen Transaktionen führen können.

Beispiel: Die Anwendung schickt einen SQL-Batch an den SQL-Server der am Stück ausgeführt werden soll:

BEGIN TRANSACTION;
INSERT …. SELECT ….; – irgendetwas schrecklich Langes
COMMIT;

Wenn das zu lange dauert und das Client-API daher einen Command-Timeout wirft, dann schickt der Client per TDS einen "Cancel" zum Server. Das sah ich leider nur mit dem NetMon, nicht via Profiler. Der SQL-Server unterbricht dann sofort die Ausführung des aktuellen Batches. Aus dem Batch wird kein weiterer Befehl ausgeführt. Auch kein ROLLBACK, dass in einem CATCH-Block im SQL-Batch enthalten ist. Die Transaktion bleibt einfach offen. Damit hatte ich nicht gerechnet.

Daher muss man in der Fehlerbehandlung der Anwendung immer mal noch einen SQL-Befehl über die Connection schicken, selbst wenn die Transaktion komplett als Batch an den SQL-Server geschickt wurde. Das geht beispielsweise mit einem bedingten ROLLBACK:

IF @@TRANCOUNT > 0 ROLLBACK;

Ausprobiert haben wir ODBC und ADO.net. Bei beiden war es so. Bei ODBC mag es ja meistens noch gereicht haben die Connection einfach zu beenden, was zu einem Rollback führt. Bei ADO.net reicht das normalerweise nicht. Hier ist der bedingte ROLLBACK-Befehl fast immer nötig, weil bei ADO.net in der Regel Connection-Pooling verwendet wird: eine geschlossene Verbindung wandert zurück in den Pool, sie wird nicht wirklich geschlossen. Erst beim Rausholen aus dem Pool wird zum Zweck des Recycling ein "Reset" auf der Connection abgesetzt, dass alle Optionen zurücksetzt, Transaktionen schließt und Sperren freigibt. Diese Kombination kann dazu führen, dass Zombi-Sperren sehr lange gehalten werden und zu einem hübschen Blockierungsproblem führen… 😉