Update: Fehlermeldung beim Ausführen von DBCC CHECKTABLE-Anweisung oder die DBCC CHECKDB-Anweisung in Microsoft SQL Server 2005: "Spaltenwert '<columnname>' liegt außerhalb des Bereichs für den Datentyp"Float""

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 942904 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Fehler: # 50001847 (SQL-Hotfix)
Microsoft stellt Updates für Microsoft SQL Server 2005 als downloadbare Datei. Da die Updates kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2005 enthalten waren.
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

In SQL Server 2005 wird beim Ausführen von DBCC CHECKTABLE -Anweisung oder die DBCC CHECKDB -Anweisung auszuführenden eine Überprüfung der physischen Konsistenz für eine Tabelle ein Fehlermeldung etwa folgende Fehlermeldung:
DBCC-Ergebnis für '<tablename>'.
Msg 2570, Ebene 16, State 3 1-Seite (1:73) Steckplatz 2 im Objekt-ID 2073058421, Index 1, Partition ID 72057594038321152, Verbindungsreservierung Einheit ID 72057594043301888 (Typ "-Row Data"). Wert-Spalte "<columnname>" ist außerhalb des Bereichs für Datentyp "Float". Ein gültiger Wert für aktualisieren Sie Spalte.
Hinweis: In dieser Fehlermeldung TableName stellt den tatsächlichen Namen der Tabelle und ColumnName dar den tatsächlichen Namen der Spalte.

Ursache

Dieses Problem rührt eine INSERT -Anweisung oder eine UPDATE -Anweisung Werte, die außerhalb des Bereichs in einer Spalte sind übergibt, die eine Spalte vom Datentyp FLOAT ist. Diese Bedingung kann auftreten, wenn die INSERT -Anweisung oder die UPDATE -Anweisung nicht die Werte senden, die eingefügt oder aktualisiert werden, als Literale. Dieses Problem kann beispielsweise auftreten, wenn Sie eine Variable, verwenden um einen ungültigen Wert in eine INSERT -Anweisung oder eine UPDATE -Anweisung übergeben.

Lösung

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Update 4 veröffentlicht. Weitere Informationen, wie Sie dieses kumulative Updatepaket für SQL Server 2005 Service Pack 2 zu erhalten finden Sie im folgenden Artikel der Microsoft Knowledge Base:
941450Kumulatives Updatepaket 4 für SQL Server 2005 Service Pack 2
Hinweis: Da die Builds kumulativ sind, enthält jede neue Update-Version alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2005 enthalten waren. Microsoft empfiehlt, dass Sie in Erwägung ziehen Anwenden der neuesten Update-Version, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
937137SQL Server 2005 erstellt, die veröffentlicht wurden, nachdem SQL Server 2005 Service Pack 2 freigegeben wurde
Microsoft SQL Server 2005-Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen ein SQL Server 2005 Service Pack 2 Hotfix auf eine Installation von SQL Server 2005 Service Pack 2 anwenden. Standardmäßig ist jeder Hotfix, der in einer SQL Server Service Pack bereitgestellt wird in das nächste SQL Server Service Pack enthalten.

Weitere Informationen, welche Dateien geändert werden, sowie über alle Voraussetzungen für das kumulative Updatepaket anwenden, das den Hotfix enthält, der in diesem Knowledge Base-Artikel beschrieben wird, finden Sie die folgende KB-Artikelnummer:
941450Kumulatives Updatepaket 4 für SQL Server 2005 Service Pack 2

Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind.

Weitere Informationen

Nachdem Sie diesen Hotfix angewendet haben, verhindert SQL Server nicht, dass Sie Sie ungültige Werte in Spalten, die FLOAT-Datenspalten Typ eingeben. Nachdem Sie diesen Hotfix angewendet haben, werden ungültige Werte nicht als Fehler in der Anweisung DBCC CHECKTABLE oder DBCC CHECKDB -Anweisung angegeben.

Schritte zum Reproduzieren des Problems

  1. Öffnen Sie SQL Server Management Studio, und dann eine Verbindung zu einer Instanz von SQL Server 2005 herstellen.
  2. Erstellen Sie eine neue Abfrage, und führen Sie die folgenden Anweisungen:
    create table tb1 (c float)
    go
    
    declare @f float
    set @f=1E-307*0.01
    insert tb1 values (@f)
    go
    select * from tb1
    go
    Beachten Sie, dass der folgende ungültige Wert in der Tabelle eingefügt wurde:
    1E 309
  3. Führen Sie die folgenden Anweisungen:
    DBCC CHECKTABLE ('tb1')
    go
    erhalten Sie die Fehlermeldung, im Abschnitt "Problembeschreibung" beschrieben.
  4. Führen Sie die folgenden Anweisungen:
    insert tb1 values (1E-309)
    go
    Sie eine der folgenden Meldungen, abhängig von der SQL Server-Build erhalten:

    Nachricht 1
    Warnung: Wert '1E-309' zeigen den Gleitkommadivisionsfehler ist zu klein. Es wird als 0 interpretiert.
    Nachricht 2
    Zeigen Sie den Gleitkommadivisionsfehler Wert '1E-309' liegt außerhalb des Bereichs Computer Darstellung (8 Byte).
    In diesem Fall ist der ungültige Wert nicht in die Tabelle eingefügt, da Sie den Wert als Literal zu senden.
  5. Führen Sie die folgenden Anweisungen, um den Wert untersuchen, die in der Tabelle Schritt 4 eingefügt wird:
    select * from tb1
    go
    Beachten Sie, dass anstelle des ungültigen Werts 0 eingefügt wird.

Informationsquellen

Weitere Informationen zur Problembehandlung bei DBCC Fehler 2750 (Daten Reinheit) finden Sie im folgenden Artikel der Microsoft Knowledge Base:
923247Problembehandlung bei DBCC Fehler 2570 in SQL Server 2005
Weitere Informationen zur Liste der Builds, die nach SQL Server Service Pack 2 finden Sie im folgenden Artikel der Microsoft Knowledge Base:
937137SQL Server 2005 erstellt, die veröffentlicht wurden, nachdem SQL Server 2005 Service Pack 2 freigegeben wurde
Weitere Informationen zu inkrementellen Dienstmodell für SQL Server finden Sie im folgenden Artikel der Microsoft Knowledge Base:
935897Ein inkrementelles Dienstmodell steht SQL Server-Team zum Übermitteln von Hotfixes für gemeldete Probleme
Weitere Informationen, wie Sie SQL Server 2005 Service Pack 2 erhalten können finden Sie im folgenden Artikel der Microsoft Knowledge Base:
913089Beziehen der neuesten Service Packs für SQL Server 2005
Weitere Informationen zu neuen Features und die Verbesserungen in SQL Server 2005 Service Pack 2 die folgenden Microsoft-Website:
http://go.microsoft.com/fwlink/?LinkId=71711
Weitere Informationen zum Benennungsschema für SQL Server-Updates finden Sie im folgenden Artikel der Microsoft Knowledge Base:
822499Neues Namensschema für Microsoft SQL Server-Softwareupdate-Paketen
Weitere Informationen zur Terminologie für Softwareupdates finden Sie im folgenden Artikel der Microsoft Knowledge Base:
824684Erläuterung von Standardbegriffen bei Microsoft Softwareupdates

Eigenschaften

Artikel-ID: 942904 - Geändert am: Mittwoch, 14. November 2007 - Version: 2.4
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
Keywords: 
kbmt kbsql2005engine kbhotfixrollup kbfix kbpubtypekc kbqfe kbexpertiseadvanced KB942904 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 942904
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com