Glorf.it

Glorf IT

Bedenkliches aus dem IT-Alltag

16. August 2006 um 18:06

SQL Server 2000 SP4: Rechte auf master.dbo.sysxlogins

Heute bemerkten wir zufällig, dass im Rahmen der Neuinstallation einer MSDEs mit integriertem SP4 wird der Gruppe "Public" das Leserecht auf die Tabelle master.dbo.sysxlogins nicht gewährt. Bis inklusive SP3 wurde das Recht vergeben. Bei einem Update mit SP4 bleibt das Recht erhalten. Das habe ich in der Doku zu SP4 nicht gefunden bzw. übersehen.

Ich weiss schon, dass man auf die Tabelle eigentlich sowieso nicht zugreifen soll, aber wer es dennoch tut, sollte wissen, dass er auf zwei Sorten von MSDEs stoßen kann: Welche mit dem Recht und welche ohne.. 😉

15. August 2006 um 21:04

Oldies, but Goldes: DaDaDaDa

Als ich bei Meta-Cafe ein Video von chinesischen Studenten sah, wollte ich schon weiterklicken, aber er Text erregte meine Aufmerksamkeit:

The song is very famous among Chinese college students! If you like it please give me some support so I could have the confidence to submit more native videos, and let you know more about China.

Als ich dann das Lied hörte, traute ich meinen Ohren kaum. Aber seht/hört selbst: DaDaDaDa-Video (Tipp: richtig laut aufdrehen!). Einfach super!
Die bayrische Fassung des Liedes kannt ich noch nicht…

Das erinnert mich daran, dass ich früher mal irgendwo ein Autogram von Stefan Remmler hatte… Wir gingen durch den Köllner Bahnhof und kamen an einem Typen vorbei, der ziemlich abgedreht aussaht. Ein Freund sagte: "Mensch, der sieht ja aus wie Stefan Remmler!" Wir haben nur so lange über den Witz gelacht, bis andere zu dem Typen rannten und sich ein Autogramm geben ließen. Aber er war nicht nachtragend und gab uns auch eines… 😉

15. August 2006 um 20:53

undokumentiert, aber gut: object_id mit Typangabe

Heute entdeckte ich durch Zufall, dass ein ganz tolles, dokumentiertes Feature aus dem "SQL Server 2005" auch schon (undokumentiert) im "SQL Server 2000" funktioniert.

Bevor ich eine Procedure oder View anlege, prüfe ich immer zuerst, ob es sie schon gibt und lösche Sie dann gegebenenfalls. "Früher" nutzte ich dazu die Systemtabellen, Z.B. so:

if exists(select *
from sysobjects
where name = N'MyProc'
and type = N'P')
drop procedure MyProc
go
Create procedure MyProc
as
select N'tolles Beispiel' as "Info"

Nachdem ich oft genug gehört hatte, dass man keine direkten Zugriffe auf die Systemtabellen machen soll, weil sie irgendwann (Z.B. wurde mit Yukon gedroht) abgeschafft würden, habe ich das (völlig umsonst) umgestellt:

if objectproperty(object_id(N'MyProc'), 'IsProcedure') = 1
drop procedure MyProc
go
Create procedure MyProc
as
select N'tolles Beispiel' as "Info"

Heute entdeckte ich, dass auch am 2000er die Funktion object_id um den Typ erweitert werden kann:

if object_id(N'MyProc', N'P') is not null
drop procedure MyProc
go
Create procedure MyProc
as
select N'tolles Beispiel' as "Info"

Mit diesem schicken Feature aus dem 2005er ist es doch gleich viel handlicher… 🙂

15. August 2006 um 20:38

Update der Losungen im XML-Format

Für alle, die die Losungen der Herrnhuter Brüder-Gemeine im XML-Format nutzen, ein Hinweis.
Es gab einen Fehler in der XML-Datei. Alle Lehrtexte mit mehr als 255 Zeichen waren unvollständig. Seit heute steht eine korrigierte Version bereit. Andere Formate waren meines Wissens nicht betroffen.

14. August 2006 um 23:37

IT-Management: Lustige Sprüche

In der August-Ausgabe der Zeitschrift "IT Management" stehen wieder ein paar nette Sätze dirn, die ich einfach nur lustig finde. Die Artikel sind gespickt mit Wörtern, die in meinem Berufsalltag gar nicht oder in eher anderem Kontext vorkommen, z.B.: Messpyramide, Prozessketten, End-to-end-Messverfahren.

Der Teaser zum Artikel "Chancen und Hürden in der Umsetzungspraxis" beginnt mit diesem Satz:

Configuration Management-Projekte zählen beim Service-Management zu den Maßnahmen mit der höchsten Floprate.

Ein Artikel zum Thema "End-to-end-basierte Messverfahren im Service-Level-Manageement" hat den folgenden Titel, den ich gerne als Management-Phrase des Monats küren würde:

Beim Staffellauf zählt die Leistung eines jeden Läufers

Ich könnte mich wegschmeißen vor Lachen. Dabei frage ich mich, ob die Komik, die ich empfinde auch wirklich so gedacht war. 😉

14. August 2006 um 20:37

Einführung in XHTML, CSS und Webdesign

Bei [F – LOG – GE] (Danke) fand ich den Link auf eine erstklassige Seite mit Einführung in XHTML, CSS und Webdesign.

Da ich selber immer wieder hobby-mäßig Webseiten gestalte oder kleinere Anwendungen schreibe, kann ich das sehr gut gebrauchen. Gerade in Bezug auf CSS ist mein All-Time-Favorit "SelfHTML" etwas dünn. Ich glaube, ich muss bei meinen Links eine neue Kategorie einführen: WebTech.

14. August 2006 um 20:27

Handbuch "Datenrettung" von Ontrack zum Download

Bei der PC-Welt gibt es das Handbuch "Datenrettung" von Ontrack zum kostenlosen Download. Der Preis besteht in dem Umstand sich einen (kostenlosen) Account bei der PC-Welt (bzw. dem Verlag IDG) anlegen zu müssen.

Die Lektüre der insgesamt 116 Seiten lohnt sich meines Erachtens für alle, die für die Sicherheit bzw. Sicherung von Datenbeständen verantwortlich sind. Es liest sich flüssig und ist sehr informativ. Auch für mich sind neue Infos dabei.

Im Gegensatz zu der in den Medien oft verbreiteten Meinung spielen
Naturkatastrophen als Ursache für Datenverlust nur eine untergeordnete
Rolle. Tatsächlich beruhen drei Viertel aller Schadensfälle
auf Störungen an der Hardware oder auf Bedienungsfehlern.

Als Hauptursachen werden genannt (aus einer Ontrack-Studie von 2002):

  • 44% – Funktionsstörungen der Hardware oder des Systems
  • 32% – Bedienungsfehler
  • 10% – Software-Fehler o. Funktionsstörungen von Software
  • 7% – Computerviren
  • 3% – Höhere Gewalt (Naturkatastrophen, Brände etc.)
  • 4% – Sonstiges
Diese Ursachen werden übrigens wieder als ach so beliebtes Kuchendiagramm dargestellt. Es ist diesmal zwar beschriftet, aber falsch…

Das die Bedienungsfehler (z.B. versehentliches Überschreiben) so häufig sind, hätte ich nicht gedacht. Allerdings bekomme ich davon auch nichts mit: unsere Kunden wenden sich nur an uns, wenn die Dateien noch da aber defekt sind. 😉

Zu den Ursachen, die defekte Datenbanken haben können, verweise ich auch gerne auf meine Serie zu dem Thema.

13. August 2006 um 17:15

Google hindern Suchprofile zu erstellen

Kürzlich berichtete ich über das Problem mit der möglichen Identifizierung von Personen anhand deren Suchprofilen, wie es einer Frau mit ihren Suchen bei AOL passierte. Da fragte ich mich schon, ob ich es schön finde, dass Google auch allerlei über mich rausfinden kann. Und wie lange es dauert bis auch andere Zugang zu den Daten haben. Diese Frage haben sich offensichtlich auch andere gestellt.

In dem Artikel "Protect Your Privacy from Google" wird beschrieben wie man sich beim FireFox recht einfach davor schützen kann, dass man selber identifiziert wird. Wenn man nicht identifiziert werden kann, dann kann auch kein Profil erstellt werden.

Die Idee basiert darauf, dass man über ein anonymes Web-Proxy auf Google zugreift. Man muss aber auch noch sicherstellen, dass jeweils die Cookies gelöscht werden.
Ich bin noch nicht sicher, ob ich das machen soll. Derzeit nutze ich die personalisierte Google-Startseite mit allen möglichen News…

gefunden bei BasisThinking

13. August 2006 um 12:59

MSSQL2005: Ranking Functions

Etwas das mir beim Microsoft SQL Server 2005 besonders gut gefällt, sind die Ranking-Functions: row_number, rank, dense_rank und ntile:
Ranking-Functions

Hier ein Aufrufbespiel:

SELECT OrderID, Quantity,
row_number() OVER (ORDER BY quantity) AS "row_number()",
rank() OVER (ORDER BY quantity) AS "rank()",
dense_rank() OVER (ORDER BY quantity) AS "dense_rank()",
ntile(10) OVER (ORDER BY quantity) AS "ntile(10)"
FROM Northwind.dbo."Order Details"
WHERE ProductID=1
ORDER BY Quantity

row_number liefert eine Nummerierung. Dabei muss man aber beachten, dass die Nummerierung nur dann eindeutig reproduzierbar ist, wenn die Sortierung präzise ist. Im obigen Beispiel kann es mehrere Order-Details mit der gleichen Anzahl geben. Deswegen ist die Row_Number hier "nicht deterministisch", sondrn könnte beim nächsten Aufruf anders Lauten. Die Abhilfe ist ganz einfach: Die Order-BY so erweitern, dass sie eindeutig ist.

ntile(n) verteilt die Datensätze gleichmäßig in n Töpfe. Die Töpfe werden dabei nummeriert. Die Reihenfolge basiert intern auf der Row_Numer. Deswegen ist es auch bei NTile von der genauen Sortierung abhängig, ob die Werte deterministisch sind oder nicht. Die Töpfe werden dabei immer reihum aufgefüllt, d.h. die vorderen Töpfe haben in der Regel ein Mitglieder mehr als die hinteren.

rank liefert den Rang, wie bei den olympischen Spielen: Wenn zwei den gleichen Werte haben, dann teilen sie sich den ersten Platz und der nächste sitzt auch Platz 3. Rank ist deswegen immer deterministisch.

dense_rank liefert den Rang, ohne Lücken. Auch diese Funktion ist immer deterministisch.

Wer sie noch nicht kennt, dem würde ich sie sehr ans Herz legen. Vertiefende Infos, insbesondere zu den Alternativen am Microsoft Sql Server 2000 werden in folgenden Beispielen von Itzik Ben-Gan besonders gut beschrieben (in den Beispielen nach "Rank" suchen, sie sind gut kommentiert).
Für die Vertiefung empfehle ich den Einsatz mit Partitions (in Gruppen durchzählen).

12. August 2006 um 23:38

Der Flug startet in Erlangen: Goggles lokalisieren

Neulich berichtete ich ja schon von dem netten Flug über die Google-Maps. Heute entdeckte ich, dass man auch die Möglichkeit hat einen eigenen Start-Platz anzugeben.

Beispiele: Start in Erlangen an der Lauseiche (in Google Maps) oder in Erlangen am Bohlenplatz (Google Maps).

keine Auswahl bei Goggles

Bitte bei "select a location" nichts auswählen, sondern gleich auf "Start" klicken. Und schon startet man leicht südlich vom Zielgebiet "Lauseiche" bzw. "Bohlenplatz" in Erlangen…

Flug über den Bohlenplatz

12. August 2006 um 22:31

Raatz&Dröge: Microsoft SQL Server 2005

Microsoft SQL Server 2005
In der Gegend aus der ich stamme, bedeutet "dröge" soviel wie "trocken". Das kann man von dem Buch der Herren Dröge und Raatz "Microsoft SQL Server 2005 – Konfigurierung, Admistration, Programmierung" allerdings nicht sagen. Es ist ganz flüssig zu lesen. Auf (spärlichen) 390 Seiten werden die wichtigsten Features des SQL Servers 2005 zusammengefasst. Es hatte in meinen Augen schon mal einen Sympathie-Bonus, weil dort die Geschichte des SQL Servers korrekt dargestellt wird. Man liest ja leider oft nur die "Sybase-Version" und die "Microsoft-Version". Die Wahrheit liegt ja bekanntlich in der Mitte…

Leider wird jedes Thema nur gestreift, ist ja auch kalr, sonst wären es tausend Seiten. Das Buch richtet sich tendentiell eher an "Neulinge" und bietet ganz gute Einstiege in die verschiedenen Themen. Für Kenner des "SQL Server 2000" würde ich das Buch nicht als Umstiegshilfe unbedingt empfehlen, da es immer dann aufhört, wenn es in die Details geht. Um einen schnellen Überblick zu bekommen ist es aber genau richtig. Dafür würde ich es empfehlen.

Mir liegt ein Paperback der ersten Auflage vor, dass wir von Microsoft geschenkt bekamen. Dort ist der Preis mit 29,90 Euro angegeben, was ich als angemessen empfinde. Ich fand aber nur Links auf die gebundene Ausgabe (zweite Auflage, 440 Seiten) für fast 40 Euro.

PS: Sorry für das Wortspiel am Anfang, aber die Namen beider Autoren wecken bei mir so viele Assoziationen…

12. August 2006 um 13:50

Google Trends: Suchen nach Sql Server 2005 bzw. 2000

Bei Google-Trends kann man nicht nur die "Nachfrage" nach Suchphrasen ansehen, sondern auch zwei gegeneinander vergleichen:

Interessant finde ich beispielsweise den Vergleich der Google Trends zu den Stichwörtern
"sql server 2005" und "sql server 2000":
Google Trends: Suchen nach Sql Server 2005 bzw. 2000

Die Nachfrage hat beim "SQL Server 2000" viel weniger stark abgenommen als sie beim "SQL Server 2005" zunahm…