Pazīmes
Pieņemsim, ka izmantojat Microsoft SQL SQL Server 2016 analīzes pakalpojumu instanci. Lai gan arvien vairāk globālā tvēruma objektu tiek saglabāti kešatmiņā, šie kešatmiņas nekad netiek iztīrīti. Tā rezultātā var nepārtraukti pieaugt atmiņa, un galu galā serveris var avarēt.
Globālie tvērumi tiek ievietoti kešatmiņā, pamatojoties uz katra lietotāja drošības prasībām. Tāpēc šī problēma parasti rodas tikai tad, ja rodas kāds no šiem scenārijiem:
- Modelī ir dinamiskas izteiksmes (piemēram, UserName(), CustomData()). Tas nav obligāti, lai redzētu problēmu, bet tas ir izplatīts cēlonis. Ja ir dinamiskās izteiksmes, katram unikālajam lietotājam ir jāizveido savs unikāls globālais tvērums. Tas ievērojami palielina globālo tvērumu skaitu, kas ir jāizveido un jāsaglabā kešatmiņā.
- Jums ir sarežģīts modelis, kurā ir daudz metadatu un drošības. Tas ietekmē atmiņas izmaksas katram tvēruma objektam. Palielinoties kešatmiņā saglabāto globālo tvērumu skaitam, atmiņas nospiedums pieaug atkarībā no katra tvēruma objekta atmiņas izmaksām.
- Pastāv liels skaits unikālu lietotāju, kas veido savienojumu ar serveri. Piemēram, bieži PowerBI.com var atsvaidzināt informācijas paneļa elementus katram lietotājam. Šādā gadījumā analīzes pakalpojumi saņem daudz savienojumu un vaicājumu par katru unikālo lietotāju, un globālo tvērumu skaits strauji palielinās, patērējot daudz atmiņas.
Piezīme: Pēc šī labojumfaila lietošanas SQL Server versija būs 13.0.2170.0.
Risinājums
Kumulatīvā atjauninājuma informācija
Šīs problēmas labojums ir iekļauts tālāk norādītajā SQL Server kumulatīvajā atjauninājumā.
Par SQL Server kumulatīvajiem atjauninājumiem
Katrā jaunajā SQL Server kumulatīvajā atjauninājumā ir visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos SQL Server kumulatīvos atjauninājumus:
Jaunākais kumulatīvais atjauninājums SQL Server 2016
Risinājums
Lai novērstu šo problēmu, manuāli <izpildiet ClearCache> XMLA komandu datu bāzei atbilstošā grafikā. Tas ļautu notīrīt visas globālā tvēruma kešatmiņas un atkal samazināt atmiņas apjomu. Šī opcija nākamreiz radīs zināmas veiktspējas izmaksas, kad izveidosit savienojumu, jo nevarēsit atkārtoti izmantot kešatmiņā ievietoto globālo tvērumu.
Statuss
Microsoft apstiprināja, ka šī ir problēma Microsoft produktos, kas norādīti sadaļā "attiecas uz".
Atsauces
Uzziniet par terminoloģiju, ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.