Simptomi
Ja Microsoft SQL Server vairākkārt izpilda saglabāto procedūru, kas veic šādas darbības:
-
Ieņem lielu objektu, piemēram, varchar (max) vai varbinary (max), kā argumentu, un
-
Izveido pagaidu tabulu, kas attiecas uz procedūras izpildi, un
-
Izmanto lielu objekta argumentu pagaidu tabulā.
Jūs varat atrast apgalvojuma kļūdu, kas līdzinās SQL Server kļūdu žurnālfailā, veicot tālāk norādītās darbības.
Datuma/laika SPID kļūda: 17065, nopietnība: 16, rajons: 1.
Datuma/laika SPID SQL Server apgalvojums: fails: FilePath \filename, Line = rindas numurs% failed apgalvojums = ' fFalse ' mēģinājums piekļūt noilgušo BLOB turi (1). Šī kļūda var būt saistīta ar hronometrāžu. Ja kļūda joprojām pastāv pēc priekšraksta atkārtotas palaišanas, izmantojiet DBCC CHECKDB, lai pārbaudītu datu bāzi strukturālai integritātei, vai restartējiet serveri, lai nodrošinātu, ka atmiņas datu struktūras nav bojātas.
Datuma/laika SPID kļūda: 3624, smaguma pakāpe: 20, rajons: 1.
Datuma/laika SPID sistēmas apgalvojuma pārbaude neizdevās. Detalizētu informāciju skatiet SQL Server kļūdu žurnāls. Parasti apgalvotās kļūmes cēlonis ir programmatūras kļūda vai datu bojājums. Lai pārbaudītu datu bāzes bojājumus, apsveriet iespēju palaist DBCC CHECKDB. Ja esat piekritis sūtīt izgāztuves uz Microsoft iestatīšanas laikā, korporācijai Microsoft tiks nosūtīta mazā izmete. Atjauninājums var būt pieejams no Microsoft jaunākās servisa pakotnēs vai labojumfailā no tehniskā atbalsta.
Cēlonis
SQL Server ir iekšējā loģika, lai atspējotu tādu vaicājumu kešdarbi, kas atsaucas uz lieliem objektiem, lai turpmākie izpildes gadījumi neatsauktiesu uz šiem LOBs (kas tika izveidoti iepriekšējo darbību laikā, un tāpēc tie ir nederīgi nākamajiem palaišanas). Šī loģika nereaģēja uz pagaidu tabulām, kas izraisīja šo plānu DNR. Noteiktās pagaidu tabulas ir izmaksātas dārgi, un SQL Server kešatmiņas tiek atkārtotas atkārtoti. Tas neļauj atkārtoti kompilēt šādus vaicājumus shēmu izmaiņu dēļ.
Uzziniet vairāk par atlikšanas vārdu atpazīšanu.
Risinājums
Šī problēma ir novērsta tālāk norādītajos kumulatīvajos SQL Server atjauninājumos:
Kumulatīvais atjauninājums 8 SQL Server 2016 SP1
Kumulatīvais atjauninājums 4 SQL Server 2017
Kumulatīvais atjauninājums 10 SQL Server 2014 2. servisa pakotnei
Katrs jaunais kumulatīvais SQL Server atjauninājums ietver visus labojumfailus un drošības labojumus, kas bija iepriekšējā būvējumā. Skatiet pēdējo kumulatīvo SQL Server atjauninājumu.
Jaunākais SQL Server 2016 kumulatīvais atjauninājums
Jaunākais SQL Server 2017 kumulatīvais atjauninājums
jaunākie SQL Server 2014 kumulatīvie atjauninājumi
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".
Atsauces
Uzziniet par terminoloģiju , ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.