Primjenjuje se na
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Web - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Simptomi

Pretpostavimo da imate neke upite koje se odnose na tablice koje imaju mnogo statistika u programu Microsoft SQL Server 2012 ili Microsoft SQL Server 2014. Kada se u istoj ćeliji raspršivanja prikazuje previše istodobnih umetanja ili predmemorirana predmemorija sistemske tablice, pojavljuje se ograničenje stupanja na 1.196 s velikim duljinama koštice, teškim sporom na SOS_CACHESTORE Spinlock i visokom korištenju procesora.

Uzrok

Taj se problem pojavljuje zato što, kada stalno umećete unose za istu sistemsku tablicu u ovu predmemoriranu tablicu sustava, tijekom sastavljanja, možete naići na tvrdnju na SOS_CACHESTORE Spinlock koja štiti ćelije hash table za ovu predmemoriju. Jedan od uvjeta koji uzrokuju taj problem predstavlja puno statističkih podataka koji se prikazuju u tablicama uključenih u kompilirani upit.

Rješenje

Informacije o servisnom paketu

Da biste riješili taj problem, nabavite servisni paket 1 za SQL Server 2014.

Dodatne informacije o sustavu SQL Server 2014 Service Pack 1 (SP1) potražite u članku pogreške koje su ispravljene u sustavu SQL server 2014 Service Pack 1.

Kumulativne informacije o ažuriranju

Problem je prvi put riješen u sljedećem kumulativnom ažuriranju sustava SQL Server.

Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Pogledajte najnovija kumulativna ažuriranja za SQL Server:

Dodatne informacije

U svakoj bazi podataka postoji predmemorija s skupom tablice sustava koja pohranjuje unose iz sistemskih tablica u memoriji. Kada se podaci čitaju iz tablica sustava, ona se predmemoriraju u predmemoriranoj memorijskih tablica tablice sustava za tu bazu podataka. Kanta za raspršivanje koja određuje mjesto predmemoriranog unosa izvorno se temelji na identifikatoru sistemske tablice. Kada istodobno pročitate puno unosa iz iste sistemske tablice, ona može rezultirati prethodnim sporom. Promjene u rješavanju adrese argument na dva načina:

  • Veličina svake tablice sustava za postavljanje redaka predmemorije za tablice u tablici povećava se s 299 na 599.

  • Algoritam za raspršivanje promijenjen je na način da stavke iz iste sistemske tablice ne završavaju uvijek u istoj kanti za raspršivanje.

Informacije o memoriji za postavljanje redaka tablice sustava možete prikazati pomoću sljedećih upita:

select * from sys.dm_os_memory_cache_hash_tableswhere name IN ( 'SystemRowsetStore' ) select * from sys.dm_os_memory_cache_counterswhere name IN ( 'SystemRowsetStore' )

Informacije o takmičenja Spinlock možete pogledati pomoću sljedećeg upita:

select * from sys.dm_os_spinlock_statswhere name = 'SOS_CACHESTORE'

Status

Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.