Příznaky
Při dotazu na data ve sloupci Large Binary (BLOB) v Microsoft SQL serveru 2008, SQL serveru 2008 R2, SQL serveru 2012 nebo SQL Server 2014 se může zobrazit následující chybová zpráva:
Chyba: 5180 nemohl v databázi tempdb otevřít pro neplatný ID souboru 0. Ověřte umístění souboru. Spusťte příkaz DBCC CHECKDB.
Příčina
K tomuto problému dochází, protože SQL Server při čtení dat objektu BLOB správně nezpracovává zprávu upozornění (Storno). Tento problém nastane jenom v případě, že je zakázaná mezipaměť BLOB vnitřní paměti. Když je mezipaměť zakázaná, přepne se data mezipaměti do databáze tempdb. SQL Server potom přečte data BLOB z databáze tempdb místo mezipaměti. Závisí na velikosti dat nebo paměti objektu BLOB. mezipaměť BLOBů v paměti je zakázaná.
Řešení
Tento problém byl poprvé opraven následující kumulativní aktualizací SQL serveru.
Kumulativní aktualizace 2 pro SQL Server 2012 SP2 /en-us/help/2983175
Kumulativní aktualizace 11 pro SQL Server 2012 SP1 /en-us/help/2975396
Kumulativní aktualizace 13 pro SQL Server 2008 R2 SP2 /en-us/help/2967540
Kumulativní aktualizace 2 pro SQL Server 2014 /en-us/help/2967546
Kumulativní aktualizace 17 pro SQL Server 2008 SP3 /en-us/help/2958696
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace SQL serveru:
Stav
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.