Predvolene Service Pack 3 pre SQL Server 2012 Service Pack 1 pre SQL Server 2014 patrí táto oprava a nemáte pridať všetky príznaky sledovania umožniť opraviť. Umožniť opraviť po nainštalovaní kumulatívnej aktualizácie v časti riešenie, musíte spustiť Microsoft SQL Server pridaním príznak sledovania 1236 spúšťacie parametre.
Príznaky
Predpokladajme, že spustíte inštanciu programu Microsoft SQL Server 2014, SQL Server 2012, SQL Server 2008 alebo SQL Server 2008 R2 na počítači, ktorý obsahuje veľa procesorov. Keď počet uzamknutí (typ prostriedku = databáza) pre konkrétne databázy presahuje určitý prah, sa vyskytnúť nasledujúce problémy s výkonom:
-
Zvýšené hodnoty vyskytnúť LOCK_HASH spinlock počet.
Poznámka: Návod na sledovanie tejto spinlock v časti "Ďalšie informácie". -
Otázky alebo operácie, ktoré vyžadujú databázy locks trvať dlho dokončiť. Napríklad, môžete si všimnúť nasledovné oneskorenia výkon:
-
SQL Server prihlásenia
-
Prepojený server dotazy
-
sp_reset_connection
-
Transakcie
-
Poznámka: Vyhľadať zoznam locks (typ prostriedku = databáza) na danej databázy, nájdete v časti "Ďalšie informácie". Prahová hodnota závisí od prostredia.
Riešenie
Kumulatívna aktualizácia informácií
Tento problém bol najskôr odstránený v nasledujúcej kumulatívnej aktualizácie programu SQL Server.
Kumulatívna aktualizácia 13 pre SQL Server 2008 R2 SP2/en-us/help/2967540
Kumulatívna aktualizácia 17 SQL Server 2008 SP3/en-us/help/2958696
Kumulatívna aktualizácia 1 pre SQL Server 2014/en-us/help/2931693
Kumulatívna aktualizácia 9 pre SQL Server 2012 SP1/en-us/help/2931078
Každý nový Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchle opravy a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite sa na najnovšie kumulatívnej aktualizácie pre server SQL Server:
Informácie o rýchlej oprave
Od spoločnosti Microsoft je k dispozícii podporovaná rýchla oprava. Táto rýchla oprava je však určená iba opravu problému, ktorý je popísaný v tomto článku. Rýchlu opravu použite len v počítačoch s týmto konkrétnym problémom. Ak je rýchla oprava k dispozícii na stiahnutie, na začiatku tohto článku databázy Knowledge Base sa nachádza časť „K díspozícii je rýchla oprava na stiahnutie“. Ak sa táto sekcia nezobrazuje, odošlite požiadavku na služby zákazníkom spoločnosti Microsoft a podporu získať rýchlu opravu. Poznámka: Ak sa vyskytnú ďalšie problémy alebo ak je potrebné, budete musieť vytvoriť samostatnú servisnú požiadavku. Poplatkoch za poskytovanie technickej podpory sa budú vzťahovať na dodatočnú podporu otázky a problémy, ktoré sa netýkajú tejto konkrétnej rýchlej opravy. Úplný zoznam telefónnych čísel služieb zákazníkom spoločnosti Microsoft a podpora alebo vytvoriť samostatnú servisnú požiadavku, nájdete na nasledujúcej webovej lokalite spoločnosti Microsoft:http://support.microsoft.com/contactus/?ws=supportPoznámka: "Rýchla oprava k dispozícii na prevzatie" formulár sa zobrazujú jazyky, pre ktoré je rýchla oprava k dispozícii. Ak nemôžete nájsť požadovaný jazyk, znamená to, že rýchla oprava nie je pre tento jazyk k dispozícii.
Stav
Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.
Ďalšie informácie
Ak aplikácia umožňuje pripojenie k serveru SQL Server, zistí najprv kontext databázy. Podľa predvoleného nastavenia pripojenie sa pokúsi získať zámok databázy v režime SH. Zámok SH databázy sa uvoľní, pri zastavení pripojenie alebo kontext databázy sa zmení počas pripojenia. Máte veľa aktívnych pripojení, ktoré používajú databázu súvislosti môže mať mnoho locks typu databáza prostriedkov pre konkrétne databázy.
V počítači s procesormi 16 alebo viac, len tabuľka objekty používať rozdelený Uzamknutie systému. Databáza locks však nie sú oblastí. Preto väčší počet databázy uzamknutie, dlhšie trvá získať zámok databázy SQL Server. Väčšina aplikácií skúsenosti problémov spôsobených tohto návrhu. Ale ako číslo presahuje určitý prah, prácou a čas, je potrebné získať zámok. Hoci náklady len micro sekúnd pre každý ďalší zámok, celkový čas môžete rýchlo zvýšiť, pretože zámok hash segmentov chránených pomocou spinlock. To spôsobí ďalšie cykly Procesora a čaká na ďalšie pracovníkov získať zámok. Táto rýchla oprava obsahuje databázy zámok oblastí, ak je povolený príznak sledovania T1236, pri spustení. Hĺbka lock zoznam oblastí zámok databázy stále spravovať v každej miestnej oblasti. To výrazne optimalizuje prístup cesta možno získať zámok databázy . Monitorovanie LOCK_HASH spinlock, môžete použiť nasledujúce dotazu.SET NOCOUNT ONCREATE TABLE #spinlock_stats([CaptureTime] datetime,[name] nvarchar(512),[collisions] bigint, [spins] bigint,[spins_per_collision] real,[sleep_time] bigint,[backoffs] int) DECLARE @counter int = 1 WHILE @counter < 100 BEGIN INSERT INTO #spinlock_stats SELECT GETDATE() as "CaptureTime" , * FROM sys.dm_os_spinlock_stats WHERE [name] = 'LOCK_HASH' WAITFOR DELAY '00:00:05' SET @counter +=1 END SELECT * FROM #spinlock_stats ORDER BY [CaptureTime] DROP TABLE #spinlock_stats Ďalšie informácie o diagnostikovaní a riešení sporu spinlock na serveri SQL Server, prejdite na nasledujúci dokument:Diagnostika a riešenie spinlock na serveri SQL ServerPoznámka: Napriek tomu, že tento dokument je určený pre SQL Server 2008 R2, informácia aj pre SQL Server 2012.
Odkazy
Ďalšie informácie o príznaky sledovania SQL Server 2012, nájdete na nasledujúcej webovej lokalite TechNet:
Informácie o príznaky sledovania SQL Server 2012 Ďalšie informácie o vyhľadaní počet uzamknutí databázy v jednej databázy pomocou nasledujúceho dotazu výpočet tejto hodnoty:select Resource_database_id, resource_type, request_mode, request_status, count (*) 'LockCount' from sys.dm_tran_locks group by Resource_database_id, resource_type, request_mode, request_status