{"id":40,"date":"2006-07-12T18:50:55","date_gmt":"2006-07-12T16:50:55","guid":{"rendered":"http:\/\/www.glorf.it\/blog\/2006\/07\/12\/sql-talk\/db-defekte\/ursachen-fur-datenbank-defekte-teil-1\/"},"modified":"2006-07-18T22:28:51","modified_gmt":"2006-07-18T20:28:51","slug":"ursachen-fur-datenbank-defekte-teil-1","status":"publish","type":"post","link":"http:\/\/www.glorf.it\/blog\/2006\/07\/12\/sql-talk\/db-defekte\/ursachen-fur-datenbank-defekte-teil-1","title":{"rendered":"Ursachen f&#252;r Datenbank-Defekte (Teil 1)"},"content":{"rendered":"<p>Wenn ich im Kopf so die Liste der Dinge durchgehe, die wir schon als Ursachen f&#252;r Datenbank-Defekte ausmachen konnten, dann gibt es so viele potentielle Ursachen, dass ich wohl eine Reihe daraus machen muss. Irgendwie dr&#228;ngt es mich mit den Hauptursachen anzufangen, aber die kennt Ihr ja bestimmt schon. Deswegen fange ich mit den verr&#252;ckten Sachen an. <\/p>\n<p><strong>Wetter<\/strong><br \/>\nDas <a href=\"http:\/\/www.glorf.it\/blog\/2006\/07\/11\/sql-talk\/einfluss-des-wetters-auf-die-haufigkeit-von-datenbankdefekten\/\">Wetter<\/a> habe ich ja schon genannt&#8230; \ud83d\ude09<\/p>\n<p><strong>Zipper<\/strong><br \/>\nAls ich 1993 in meiner Firma anfing, hatten wir gerade eine Serie von Datenbank-Problemen. Wie sich zeigte arbeitete der von uns damals (noch unter OS\/2 eingesetzte) PKZIP nicht korrekt. Es betraf komischerweise fast ausschlie&#223;ich Datenbank-Devices. Der Test war zum Gl&#252;ck einfach: Datei zippen, entzippen und bin&#228;r mit dem Original vergleichen. Die Trefferquote war so hoch, das wir sogar eine neue Version bekamen.<br \/>\nIch meine mich zu erinnern, dass wir vor gar nicht allzulanger Zeit &#228;hnliche Probleme mit dem Entpacken von ZIPs hatten, die gr&#246;&#223;er als eine bestimmte Grenze waren (war es 2 GBytes oder 4 GBytes?). Das betraf die letzte FreeWare-Version des PowerArchivers. Dann musste die kostenpflichtige angescaft werden. Allerdings traf uns das im Zusammenhang mit VMWare-Images.<\/p>\n<p><strong>Mails<\/strong><br \/>\nKollegen kommen immer wieder auf die Idee mir Datenbank-Dateien per Mail zu schicken. Ende der 90er kam es da h&#228;ufiger vor, dass die Datenbank defekt in meinem Outlook ankam, obwohl die Datei beim Absender OK war. Komischerweise machen das einige Kollegen immer noch, aber dabei ist schon l&#228;nger keine DB mehr r&#252;bergerudert.<\/p>\n<p><strong>CD\/DVD-Brennprogramme<\/strong><br \/>\nImmer wieder senden Kunden Ihre Daten zu uns ein, damit die Kollegen in den Fachabteilungen bestimmte Probleme oder Effekte nachvollziehen k&#246;nnen. Dabei kommen unregelm&#228;&#223;ig nur schrottige Datenbanken bei uns an. Neben den ganz normalen CRC-Fehlern (hat Kunde nicht bemerkt, weil beim Brennen kein Verify durchgef&#252;hrt wurde) kommen auch ganz leere Dateien bei uns an. Sie haben die richtige Gr&#246;&#223;e, bestehen von vorne bis hinten aber aus Hex00.<br \/>\nImmer wieder schaffen es Kunden die Datenbank-Dateien zu brennen ohne den SQL-Server-Dienst zu beenden. Bei bisher ungekl&#228;rten Umst&#228;nden stehen dann &quot;leere&quot; Dateien auf der DVD\/CD. Fast alle Betroffenen hatten Nero im Einsatz, aber ich konnte es noch nicht reproduzieren.<br \/>\nDaher schaue ich mir die Datenbank-Dateien immer als erstes mal im Hex-Editor an. Das geht mit dem Programm <a href=\"http:\/\/www.chmaas.handshake.de\/delphi\/freeware\/xvi32\/xvi32.htm\" target=\"_blank\">XVI32<\/a> ganz prima. Es arbeitet auch mit sehr gro&#223;en Dateien noch gut.<\/p>\n<p>Nur mal als Randnotiz: Wir hatten auch mal einen Kunden, der eine Datenbank gebrannt hat, dabei den SQL Server nicht stoppte und dessen Datenbank danach so richtig im Eimer war. Er behauptet sie sei vorher v&#246;llig in Ordnung gewesen. Das konnte mein Kollege nat&#252;rlich nicht kontrollieren, wir wissen nur, dass sie hinterher so kaputt war, dass sie sich nicht mehr reparieren lie&#223;. <\/p>\n<p><strong>WordPad<\/strong><br \/>\nEin Kunde hatte mal Netz-Probleme und konte sich mit der Anwendung nicht zum Datenbank-Server verbinden. Weil er nicht auf den Kopf gefallen war, hat er erst mal in der Datenbank nachgeschaut und die Sybase-SQL-Anywhere-Datebank mit dem Notepad aufgemacht. Nat&#252;rlich sah er nur Nonsense und komische Zeichen. Daraufhin rief er an und beschwerte sich. Es stellte sich heraus, dass die Datenbank wirklich defekt war. Aber nur, weil die Datei f&#252;r den Notepad zu gro&#223; war und deswegen im WordPad ge&#246;ffnet wurde. Als er das Programm schloss wurde er gefragt, ob er speichern will. Er schaute sich den Dialog nicht gro&#223; an, sondern dr&#252;ckte nur auf die Leertaste. Beim Speichern wurde die Datei um ein paar WordPad-Stuerzeichen erg&#228;nzt, z.B. ein sch&#246;ner langer Datei-Header, ein paar Hex00 wurden entfernt und Sonderzeichen ersetzt.<br \/>\nIm Ergebnis war die Datenbank nur noch Schrott.<br \/>\nHabe ich schon erw&#228;hnt, dass der Anwendersupport die Kunden nur zu uns durchgestellt, wenn es keine Datensicherung gibt und wir die letzte Hoffnung sind? Das war eine bittere Pille f&#252;r den Mann&#8230;<\/p>\n<p>Bald kommt noch mehr zum gleichen Thema.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wenn ich im Kopf so die Liste der Dinge durchgehe, die wir schon als Ursachen f&#252;r Datenbank-Defekte ausmachen konnten, dann gibt es so viele potentielle Ursachen, dass ich wohl eine Reihe daraus machen muss. Irgendwie dr&#228;ngt es mich mit den Hauptursachen anzufangen, aber die kennt Ihr ja bestimmt schon. Deswegen fange ich mit den verr&#252;ckten [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[],"_links":{"self":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/40"}],"collection":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/comments?post=40"}],"version-history":[{"count":0,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/40\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/media?parent=40"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/categories?post=40"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/tags?post=40"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}