Príznaky
Chyba tvrdenia sa môže vyskytnúť, keď Microsoft SQL Server opakovane vykonáva uloženú procedúru, ktorá vykonáva nasledujúce úlohy:
- Ako argument vezme veľký objekt, ako napríklad varchar(max) alebo varbinary(max) a
- Vytvorí dočasnú tabuľku, ktorá je určená pre vykonanie procedúry, a
- Používa argument veľký objekt v dočasnej tabuľke.
V denníku chýb SQL Server môžete nájsť chybu tvrdenia, ktorá pripomína nasledujúcu:
Dátum a čas SPID Chyba: 17065, závažnosť: 16, Stav: 1.
Dátum a čas SPID Tvrdenie SQL Server: Súbor: FilePath\FileName, riadok = číslo riadka Neúspešné tvrdenie = "fFalse" Pokus o prístup k obslužnému programu objektu blob s vypršanou platnosťou (1). Táto chyba môže súvisieť s časovaním. Ak chyba pretrváva aj po spustení príkazu, použite funkciu DBCC CHECKDB na kontrolu štrukturálnej integrity databázy alebo reštartujte server, aby ste sa uistili, že štruktúry údajov v pamäti nie sú poškodené.
Dátum a čas SPID Chyba: 3624, závažnosť: 20, Stav: 1.
Dátum a čas SPID Kontrola kontrol kontrol systémových kontrol zlyhala. Podrobnosti nájdete v denníku chýb SQL Server. Zlyhanie tvrdenia zvyčajne spôsobuje softvérová chyba alebo poškodenie údajov. Ak chcete skontrolovať poškodenie databázy, zvážte spustenie DBCC CHECKDB. Ak ste počas inštalácie súhlasili s odosielaním výpisov do spoločnosti Microsoft, spoločnosti Microsoft sa odošle minivýpis. Aktualizácia môže byť k dispozícii od spoločnosti Microsoft v najnovšom balíku Service Pack alebo v rýchlej oprave od technickej podpory.
Príčina
SQL Server má internú logiku na vypnutie vyrovnávania dotazov, ktoré odkazujú na veľké objekty, aby následné spustenia neodkazovali na tieto objekty (ktoré boli vytvorené počas predchádzajúcich spustení, a preto sú neplatné pre nasledujúce spustenia). Táto logika neriešila prípad odloženého rozlíšenia názvov (DNR) v dočasných tabuľkách, ktorý spôsobil ukladanie týchto plánov do vyrovnávacej pamäte. Dočasné tabuľky s rozsahom sú nákladné na vytvorenie a SQL Server ich ukladá do vyrovnávacej pamäte na opätovné použitie v ďalších spusteniach. Toto zabráni opätovnej kompilácii takýchto dotazov z dôvodu zmien schémy.
Ďalšie informácie o oneskorenom rozlíšení názvov.
Riešenie
Tento problém je opravený v nasledujúcich kumulatívnych aktualizáciách pre SQL Server:
Kumulatívna aktualizácia 8 pre SQL Server 2016 SP1
Kumulatívna aktualizácia 4 pre SQL Server 2017
Kumulatívna aktualizácia 10 pre balík Service Pack 2 pre SQL Server 2014
Informácie o kumulatívnych aktualizáciách pre SQL Server
Každá nová kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchle opravy a opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej zostavy. Pozrite si najnovšiu kumulatívnu aktualizáciu pre SQL Server:
Najnovšia kumulatívna aktualizácia pre SQL Server 2016
Najnovšia kumulatívna aktualizácia pre SQL Server 2017
Najnovšie kumulatívne aktualizácie pre SQL Server 2014
Stav
Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.
Odkazy
Získajte informácie o terminológii , ktorú Microsoft používa na popis aktualizácií softvéru.