Glorf.it

Glorf IT

Bedenkliches aus dem IT-Alltag

20. Juni 2008 um 16:59

Danke für die Unterstützung

Neulich beschrieb ich einen Bug im SQL-Server und bat um Unterstützung. Nachdem der deutsche MS-Support mich abgewimmelt hatte, gelang es Itzik Ben-Gan den Bug von MS anerkennen zu lassen und man konnte auf MS-Connect "gegen" den Bug stimmen. Das haben insgesamt 19 Leute gemacht, die Bewertung ist sehr, sehr hoch. Dafür bedanke ich mich ganz herzlich. Ich bin sicher, dass sowohl der Name des Einreichers (Itzik Ben-Gan) als auch diese ungewöhnlich zahlreiche Bewertung eine Rolle bei der Bearbeitung seitens MS spielten…

Das Problem rutschte in der MS-Hierarchie inzwischen bis zur endgültigen Station: Vom Microsoft-Mitarbeiter Jim wurde der Bug bewertet, kommentiert und an zur Bearbeitung an das "Query Optimizer Development Team" weitergeleitet. Das ist sehr erfreulich. 😀

Ich finde auch die Argumentation von Jim interessant. Sie ist hier nachzulesen: Er zieht eine Parallele zum Verhalten von Compilern. Wenn klar ist, in welcher Form und in welcher Version das behoben wird, melde ich mich dazu wieder.

20. Juni 2008 um 16:43

Die Datenbank ist voll – uh uh uh

Als ich noch ziemlich klein war, da sang Helga Feddersen das Lied "Die Wanne ist voll". Keine Ahnung warum ich da jetzt dran denken muss. Aber als ich gerade eine Seite des SQL-Server-Magazines aufrufen wollte, da bekam ich folgende Meldung:

Error Executing Database Query.
[Macromedia][SQLServer JDBC Driver][SQLServer]Could not allocate space for object 'dbo.ArticleViewCount'.'PK_articleViewCountArchive' in database 'NT_ContentDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

Solche Meldungen sind nicht nur mega-peinlich für die Betreiber der Seiten, sondern auch sehr informativ. Hier kann man eine ganze Menge über das CMS erfahren, dass hier betrieben wird (ich meine, außer das "Macromedia" verwendet wird). Ob denen das recht ist?

Offensichtlich ist in der Datenbank 'NT_ContentDB' – in der deren "Content" verwaltet wird – kein Platz mehr, um etwas einen Datensatz in der Tabelle "ArticleViewCount" reinzuschreiben. Genauer gesagt soll in einen vermutlich gruppierten Index, der zugleich Primärschlüssel ist, etwas eingefügt werden, aber das ist bei gruppierten Indexes ja die Tabelle. Da in die betreffende Tabelle offenbar bei jedem Datenzugriff etwas geschrieben wird, ist hier ein echter Hotspot. Weil diese Tabelle in der primären Datei, also der "*.MDF", liegt, wurde das nicht unbedingt für den "Hochleistungsbetrieb" ausgelegt. Insbesondere wurden die Daten nicht auf mehrere Dateien aufgeteilt, was den Datenzugriff parallelisieren könnte und damit den Durchsatz erhöhen würde. 😮

Diese Meldung kommt beim SQL-Server übrigens nicht besonders häufig:

  • Entweder wurde für die betreffende Datenbankdatei eine feste Größe eingestellt, dann ist darin einfach der Platz voll. In diesen Fällen sollte der Admin regelmäßig den freien Platz überprüfen – am besten automatisiert.
  • Oder die Datenbank-Datei wächst automatisch. Das ist der Normalfall. Davon gehe ich daher auch hier aus. Dann ist einfach die Partition voll. Und sowas sollte einem Admin auch nicht so durchgehen… 😉

Wie schön, dass anderen auch peinliche Pannen passieren… 😀

|