Oprava: Chybová zpráva při spuštění příkazu DBCC CHECKTABLE nebo příkazu DBCC CHECKDB v Microsoft SQL Server 2005: "sloupec '<columnname>' Hodnota je mimo rozsah pro typ dat 'float"

Překlady článku Překlady článku
ID článku: 942904 - Produkty, které se vztahují k tomuto článku.
Chyba: # 50001847 (SQL Hotfix)
Společnost Microsoft distribuuje opravy Microsoft SQL Server 2005 jako jeden soubor ke stažení. Protože jsou kumulativní opravy, každé nové vydání obsahuje všechny opravy hotfix a opravte všechny opravy zabezpečení, které byly součástí předchozí SQL Server 2005 vydání.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

V Microsoft SQL Server 2005 při spuštění příkazu DBCC CHECKTABLE nebo příkazu DBCC CHECKDB provést kontrolu konzistence fyzické na tabulce, zobrazí chybová zpráva podobná následující:
Výsledky DBCC '<tablename>.
Msg 2570 16 úroveň 3 stav linky 1 stránka (1:73) patice 2 v objektu ID 2073058421 index ID 1, oddíl ID 72057594038321152 jednotky přiřazení ID 72057594043301888 (typ "data řádek"). Sloupec "<columnname>" hodnota je mimo rozsah datového typu "float". Aktualizovat sloupec právní hodnotu.
Poznámka: V této chybové zprávě TableName představuje skutečný název tabulky a ColumnName představuje skutečný název sloupce.

Příčina

K tomuto problému dochází, protože příkaz INSERT nebo příkazu UPDATE předá hodnoty, které jsou mimo rozsah do sloupce je sloupec typ dat FLOAT. Tato situace může nastat, pokud příkaz INSERT nebo příkazu UPDATE neodesílá hodnoty, které jsou vloženy nebo, které jsou aktualizovány jako literály. Tento problém může například dojít, pokud použít proměnnou předat neplatnou hodnotu do příkazu INSERT nebo do příkazu UPDATE.

Řešení

Oprava tohoto problému byla vydána nejprve v kumulativní aktualizaci 4. Další informace o získání tohoto balíčku kumulativní aktualizace pro SQL Server 2005 Service Pack 2 klepněte na následující číslo článku databáze Microsoft Knowledge Base:
941450Balíček kumulativní aktualizace 4 pro SQL Server 2005 Service Pack 2
Poznámka: Protože jsou kumulativní sestavení, každé nové verzi oprava obsahuje všechny opravy hotfix a opravte všechny opravy zabezpečení, které byly součástí předchozí SQL Server 2005 vydání. Společnost Microsoft doporučuje zvážit instalaci nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
937137SQL Server 2005 vytvoří, které byly vydány po vydání SQL Server 2005 Service Pack 2
Opravy hotfix Microsoft SQL Server 2005 jsou vytvořeny pro konkrétní aktualizace service Pack pro SQL Server. SQL Server 2005 Service Pack 2 hotfix je třeba použít k instalaci aplikace SQL Server 2005 Service Pack 2. Ve výchozím opravy hotfix, která je poskytována v aktualizace service pack pro SQL Server součástí příští aktualizace service pack pro SQL Server.

Další informace o změně jaké soubory a informace o všech předpokladech použít balíček kumulativní aktualizaci obsahující opravu hotfix popsanou v tomto článku znalostní báze Knowledge Base klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
941450Balíček kumulativní aktualizace 4 pro SQL Server 2005 Service Pack 2

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Další informace

Po použití této opravy hotfix serveru SQL nezabrání při zadávání neplatné hodnoty ve sloupcích jsou sloupce typ dat FLOAT. Po použití této opravy hotfix neplatné hodnoty není označen jako chyby v příkazu DBCC CHECKTABLE nebo v příkazu DBCC CHECKDB.

Postup reprodukce problému

  1. SQL Server Management Studio otevřete a potom připojit k instanci serveru SQL Server 2005.
  2. Vytvořte nový dotaz a potom spusťte následující příkazy:
    create table tb1 (c float)
    go
    
    declare @f float
    set @f=1E-307*0.01
    insert tb1 values (@f)
    go
    select * from tb1
    go
    Notice následující neplatná hodnota má byla vložena do tabulky:
    1E 309
  3. Spusťte následující příkazy:
    DBCC CHECKTABLE ('tb1')
    go
    obdržíte chybovou zprávu, která popisuje "příznaky".
  4. Spusťte následující příkazy:
    insert tb1 values (1E-309)
    go
    obdržíte jednu z následujících zpráv v závislosti na sestavení serveru SQL:

    Zpráva 1
    Upozornění: plovoucí přejděte hodnotu '1E-309' je příliš malá. Bude interpretován jako 0.
    Zpráva 2
    Přejděte plovoucí hodnotu '1E-309' je mimo rozsah znázornění počítače (8 bajtů).
    Neplatná hodnota v tomto případě není vložen do tabulky, protože odeslat hodnotu jako literál.
  5. Spusťte následující příkazy zkontrolujte hodnotu, která je vložena do tabulky v kroku 4:
    select * from tb1
    go
    Notice vložení 0 namísto neplatná hodnota.

Odkazy

Další informace o odstraňování DBCC chyba 2750 (purity dat) klepněte na následující číslo článku databáze Microsoft Knowledge Base:
923247Poradce při potížích s chybou DBCC 2570 v SQL Server 2005
Další informace o seznamu sestavení, které jsou k dispozici po SQL Server Service Pack 2 klepněte na následující číslo článku databáze Microsoft Knowledge Base:
937137SQL Server 2005 vytvoří, které byly vydány po vydání SQL Server 2005 Service Pack 2
Další informace o modelu přírůstkové Servicing pro SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:
935897Přírůstkové Model Servicing je k dispozici z týmu SQL Server doručit opravy hotfix pro nahlášené potíže
Další informace o získání SQL Server 2005 Service Pack 2 klepněte na následující číslo článku databáze Microsoft Knowledge Base:
913089Jak získat nejnovější aktualizaci service pack pro SQL Server 2005
Další informace o nových funkcí a vylepšení v SQL Server 2005 Service Pack 2 naleznete na následujícím webu:
http://go.microsoft.com/fwlink/?LinkId=71711
Další informace o pojmenování schématu aktualizace SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:
822499Nové schéma přidělování názvů pro balíčky aktualizací softwaru Microsoft SQL Server
Další informace o terminologii používané v aktualizacích softwaru naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
824684Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Vlastnosti

ID článku: 942904 - Poslední aktualizace: 14. listopadu 2007 - Revize: 2.4
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbmt kbsql2005engine kbhotfixrollup kbfix kbpubtypekc kbqfe kbexpertiseadvanced KB942904 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:942904

Dejte nám zpětnou vazbu

 

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