Príznaky
Chyba tvrdení sa môže vyskytnúť, keď Microsoft SQL Server opakovane spustí uloženú procedúru, ktorá vykoná nasledovné:
-
Má veľký objekt, ako je napríklad VARCHAR (max) alebo varbinárne (max), ako argument a
-
Vytvorí dočasnú tabuľku, ktorá je predmetom vykonávania procedúry, a
-
Použije argument veľký objekt v dočasnej tabuľke.
Môže sa stať, že sa zobrazí chyba tvrdení, ktorá sa podobá nasledujúcemu hláseniu v denníku chýb servera SQL Server:
ChybaSPID pre Dátum a CAS: 17065, závažnosť: 16, stav: 1.
Dátum a časové číslo SPID SQL servera tvrdenie: súbor: rozbaľovacej \filename, Link = lineNumber zlyhal tvrdení = ' fFalse ' pokus o prístup k ukončenej rukoväti blob (1). Táto chyba môže byť súvisiaca s časovaním. Ak chyba pretrváva aj po opätovnom spustení príkazu, použite príkaz DBCC CHECKDB na kontrolu databázy pre štrukturálnu integritu alebo reštartujte server, aby sa zabezpečilo, že dátové štruktúry v pamäti nie sú poškodené.
Chyba SPID pre Dátum a CAS : 3624, závažnosť: 20, stav: 1.
Dátum a CAS číslo SPID Kontrola systémových tvrdení zlyhala. Podrobnosti nájdete v denníku chýb servera SQL Server. Zlyhanie pri tvrdení zvyčajne spôsobuje chybu softvéru alebo poškodenie údajov. Ak chcete skontrolovať poškodenie databázy, zvážte spustenie príkazu DBCC CHECKDB. Ak ste súhlasili s odoslaním výpisov do spoločnosti Microsoft počas inštalácie, na spoločnosť Microsoft sa odošle mini vý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 z technickej podpory.
Príčina
SQL Server obsahuje internú logiku na zakázanie ukladania do vyrovnávacej pamäte dotazov, ktoré odkazujú na veľké objekty tak, aby následná realizácia neodkazovala na tieto LOBs (ktoré boli vytvorené počas predchádzajúceho spustenia, a preto sú neplatné pre ďalšie spustené operácie). Táto logika neriešila prípad odloženého rozlišovania názvov (DNR) na dočasných tabuľkách, ktoré spôsobovali, že tieto plány sú uložené vo vyrovnávacej pamäti. Dočasné tabuľky s rozsahom sú drahé na vytvorenie a vyrovnávaciu pamäť SQL servera ich opätovné použitie v následných popravách. Tým sa zabráni prepracovaniu takýchto dotazov z dôvodu zmien schémy.
Ďalšie informácie o rozlíšení odložených názvov.
Riešenie
Tento problém je vyriešený v nasledujúcich kumulatívnych aktualizáciách pre SQL Server:
Kumulatívna aktualizácia balíka 8 pre SQL Server 2016 SP1
Kumulatívna aktualizácia 4 pre SQL Server 2017
Kumulatívna aktualizácia balíka 10 pre SQL Server 2014 Service Pack 2
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky opravy hotfix a opravy zabezpečenia, ktoré boli v predchádzajúcej zostave. Pozrite si najnovšie kumulatívnej aktualizácie pre SQL Server:
Posledná Kumulatívna aktualizácia pre SQL Server 2016
Posledná Kumulatívna aktualizácia pre SQL Server 2017
najnovšie kumulatívne aktualizácie pre SQL Server 2014
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Odkazy
Oboznámte sa s terminológiou , ktorú spoločnosť Microsoft používa na popis aktualizácií softvéru.