Die Galerie der wegen uns verfassten KB-Artikel wächst langsam, aber stetig. Leider sind nicht alle so, wie wir uns das gewünscht hätten. Ein Beispiel ist das Dokument mit dem selbsterklärenden Namen "FIX: Error message when you run the DBCC CHECKTABLE statement or the DBCC CHECKDB statement in Microsoft SQL Server 2005: "Column '
This problem occurs because an INSERT statement or an UPDATE statement passes values that are out of range into a column that is a FLOAT data type column. This condition may occur if the INSERT statement or the UPDATE statement does not use single quotation marks (') around the values that are inserted or that are updated. When this problem occurs, a FLOAT data type column may contain invalid values.
OK, wegen eines Problems ist es möglich ungültige ("invalid") Float-Werte in eine Tabelle einzufügen. Bei einer DBCC-CHECKTABLE-Prüfung werden daraufhin diese Werte als ungültig angemahnt. Das zeigte uns, dass die Data-Purity-Prüfung zuverlässig funktioniert. Wir machten uns auf die Suche, wie denn solche Werte überhaupt eingefügt werden konnten.
Parallel dazu machten wir einen "Incident" bei MS auf, weil wir es nicht gut finden, dass der SQL-Server solche Werte beim Ändern oder Einfügen akzeptiert und erst bei einer Prüfung meckert. Die Lösung von Microsoft verschlägt mir aber schon die Sprache:
After you apply this hotfix, SQL Server does not prevent you from entering invalid values in columns that are FLOAT data type columns. After you apply this hotfix, the invalid values are not indicated as errors in the DBCC CHECKTABLE statement or in the DBCC CHECKDB statement.
Das Einfügen der ungültigen Werte wird auch zukünftig nicht verhindert. Mit dem Fix werden die ungültigen Werte bei einer Prüfung aber nicht mehr angezeigt. Problem gelöst!
Werden im Amerika andere Probleme auch so gelöst? Würde man dort einen Inspektor, der ein Problem fand, anweisen zukünftig in der Richtung nicht mehr zu suchen? Klingt irgendwie nach billigem Krimi… Probleme, die man nicht sieht, sind nicht mehr da. Wie nennt man das?