Sümptomid
Kinnituse tõrge võib ilmneda juhul, kui Microsoft SQL Server täidab korduvalt salvestatud protseduuri, mis teeb järgmist.
-
Võtab argumendina suure objekti (nt muutuvpikkusega Tärkandmed (max) või muutuvpikkusega kahendandmed (max))ja
-
Loob ajutise tabeli, mis on selle toimingu teostamise ulatuses, ja
-
Kasutab ajutist tabelit suure objekti argumendina.
SQL serveri tõrkelogi võib leida kinnituse tõrketeate, mis sarnaneb järgmisega:
Kuupäeva/kellaaja spid -tõrge: 17065, raskusaste: 16; olek: 1.
Kuupäev/kellaaeg spid SQL serveri kinnitus: faili: FilePath \filename, Line = LineNumber ebaõnnestus väide = ' fFalse ' proovis pääseda juurde aegunud Kämp käepide (1). See tõrge võib olla ajastusega seotud. Kui tõrge püsib pärast lause uuesti käivitamist, kasutage funktsiooni DBCC CHECKDB abil andmebaasi struktuuri terviklikkuse kontrollimiseks või taaskäivitage server, et tagada mälu andmete struktuurid pole rikutud.
Kuupäeva/kellaaja spid -tõrge: 3624, raskusaste: 20; olek: 1.
Kuupäev/kellaaeg spid süsteemi kinnituse kontroll ebaõnnestus. Vaadake üksikasju SQL serveri tõrkelogi. Tavaliselt on kinnituse rike tingitud tarkvara veast või andmete korruptsioonist. Andmebaasi korruptsiooni kontrollimiseks kaaluge DBCC CHECKDB käitamist. Kui olete nõustunud saatma Microsoftile häälestamise ajal prügilad, saadetakse Microsoftile väike dumping. Värskendus võib olla saadaval Microsoftis uusimas hoolduspaketis või tehnilise toe käigultparanduses.
Põhjus
SQL serveril on sisemine loogika, mis keelab suurte objektidega päringute vahemällu salvestamise, et hilisemad toimingud ei viitaks nendele LOBs (mis on loodud varasema käitamise ajal ja seetõttu ei kehti hilisemad toimingud). See loogika ei käsitlenud ajutiste tabelite puhul edasilükatud nime lahendamise (DNR) juhtumit, mis põhjustasid nende lepingute vahemällu salvestamise. Ulatusega Ajutised tabelid on kallid ja SQL Server salvestab need hilisemate täitmise korral uuesti kasutamiseks. See takistab selliste päringute uuesti kompileerimist skeemi muutmise tõttu.
Lisateave edasilükkunud nime lahendamisekohta.
Lahendus
See probleem on lahendatud SQL serveri järgmisi kumulatiivseid värskendusi.
Kumulatiivne Update 8 SQL Server 2016 SP1 jaoks
Kumulatiivne värskendus 4 SQL Server 2017
Kumulatiivne Update 10 for SQL Server 2014 hoolduspakett SP2
Iga uus SQL serveri koondvärskenduses sisaldab kõiki Kiirparandusi ja turvaparandusi, mis olid eelmises järgus. Vaadake SQL serveri viimast kumulatiivset värskendust.
Uusim SQL Server 2016 koondvärskenduses
Uusim SQL Server 2017 koondvärskenduses
uusimad kumulatiivsed värskendused SQL Server 2014
Olek
Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.
Viited
Siit saate teada, Kuidas Microsoft kasutab tarkvaravärskenduste kirjeldamiseks.