DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 942904 - Geändert am: Mittwoch, 14. November 2007 - Version: 2.4

 
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.

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:
941450  (http://support.microsoft.com/kb/941450/LN/ ) Kumulatives 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:
937137  (http://support.microsoft.com/kb/937137/LN/ ) SQL 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:
941450  (http://support.microsoft.com/kb/941450/LN/ ) Kumulatives 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:
923247  (http://support.microsoft.com/kb/923247/ ) Problembehandlung 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:
937137  (http://support.microsoft.com/kb/937137/LN/ ) SQL 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:
935897  (http://support.microsoft.com/kb/935897/LN/ ) Ein 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:
913089  (http://support.microsoft.com/kb/913089/LN/ ) Beziehen 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 (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:
822499  (http://support.microsoft.com/kb/822499/LN/ ) Neues Namensschema für Microsoft SQL Server-Softwareupdate-Paketen
Weitere Informationen zur Terminologie für Softwareupdates finden Sie im folgenden Artikel der Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/LN/ ) Erläuterung von Standardbegriffen bei Microsoft Softwareupdates

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 ArtikelMaschinell ü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  (http://support.microsoft.com/kb/942904/en-us/ )
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.
Freigeben
Weitere Supportoptionen
Microsoft Community-Supportforen
Kontaktieren Sie uns direkt
Zertifizierten Partner finden
Microsoft Store
Folgen Sie uns: