Pēc noklusējuma šis labojums ir 1. servisa pakotne sistēmai SQL Server 2014 un 3. servisa pakotne sistēmai SQL Server 2012 un nav jāpievieno trasēšanas karodziņu, lai iespējotu labojumu. Lai iespējotu labojumu pēc instalēšanas kumulatīvo atjauninājumu sadaļā risinājums, jums ir jāsāk Microsoft SQL Server trasēšanas karodziņš 1236 pievienojot startēšanas parametri.
Pazīmes
Pieņemsim, piemēram, Microsoft SQL Server 2014, SQL Server 2012, SQL Server 2008 vai SQL Server 2008 R2 palaist datorā, kurā ir daudz procesoru. Slēdzenes skaits (resursa tips = datu bāze) par konkrētu datu bāzi pārsniedz noteiktu robežu, jums rodas šādas darbības problēmas:
-
Priviliģētā vērtības rasties LOCK_HASH vienpiekļuves slēdzene skaitu.
Piezīme. Skatiet sadaļā "Papildinformācija", lai uzzinātu, kā kontrolēt šo vienpiekļuves slēdzene. -
Vaicājumu vai darbības, kas nepieciešama datu bāzes bloķēšanas aizņemt ilgu laiku ir pabeigta. Piemēram, varat pamanīt šo darbību aizkavēšanās:
-
SQL servera pieteikšanās
-
Saistītie serveri vaicājumi
-
sp_reset_connection
-
Darbības
-
Piezīme. Atrast bloķēšanas saraksts (resursa tips = datu bāze) attiecīgajā datu bāzē, skatiet sadaļu "Papildinformācija". Atskaites vērtība ir atkarīga no vides.
Risinājums
Informācija par kumulatīvo atjauninājumu
Problēma pirmo reizi tika noteikts šo kumulatīvo atjauninājumu SQL Server.
Kumulatīvais atjauninājums 13 SQL Server 2008 R2 SP2/en-us/help/2967540
Kumulatīvais atjauninājums 17 SQL Server 2008 SP3/en-us/help/2958696
Kumulatīvais atjauninājums 1 2014 SQL Server/en-us/help/2931693
Kumulatīvais atjauninājums 9 SQL Server 2012 SP1/en-us/help/2931078
Katra jaunā SQL Server kumulatīvais atjauninājums ietver visus labojumfailus un visus drošības labojumus, kas bija ietverti iepriekšējā kumulatīvajā atjauninājumā. Jaunākais kumulatīvo atjauninājumu skatiet SQL Server:
-
Jaunākais kumulatīvo atjauninājumu par SQL Server 2008 R2 SP2
-
Jaunākais kumulatīvo atjauninājumu SQL Server 2012. gada 1. servisa pakotnei
Informācija par labojumfailu
Korporācija Microsoft piedāvā atbalstītu labojumfailu. Tomēr šis labojumfails ir paredzēts tikai šajā rakstā aprakstītās problēmas novēršanai. Lai lietotu šo labojumfailu tikai tām sistēmām, kurām ir radusies tieši šī problēma. Ja labojumfails ir pieejams lejupielādei, sadaļa "Pieejama labojumfaila lejupielāde" ir pieejama šī zināšanu bāzes raksta augšpusē. Ja šādas sadaļas nav, pieprasiet, lai iegūtu labojumfailu Microsoft klientu apkalpošanas un atbalsta. Piezīme. Ja rodas papildu problēmas vai nepieciešama problēmu novēršana, iespējams, būs jāizveido atsevišķs pakalpojuma pieprasījums. Parasti atbalsta izmaksas tiek piemērotas jautājumiem par papildu atbalstu un problēmām, kas neattiecas uz šo konkrēto labojumfailu. Lai iegūtu pilnīgu sarakstu ar Microsoft klientu apkalpošanas un atbalsta centra tālruņa numuru vai izveidotu atsevišķu pakalpojuma pieprasījumu, apmeklējiet šo Microsoft vietni:http://support.microsoft.com/contactus/?ws=supportPiezīme. Formās "Labojumfails ir pieejams lejupielādei" ir norādītas valodas, kurās ir pieejams labojumfails. Ja tajā nav vajadzīgās valodas, tas nozīmē, ka šai valodai labojumfails nav pieejams.
Statuss
Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir minēti sadaļā "Attiecas uz".
Papildinformācija
Kad lietojumprogramma izveido savienojumu ar SQL serveri, vispirms izveido datu bāzes kontekstā. Pēc noklusējuma savienojuma mēģinās iegūt datu bāzes atslēga SH režīmā. SH datu bāzes atslēga tiks izlaistas, savienojums ir apturēts vai savienojuma laikā tiek mainīta datu bāzes kontekstā. Ja jums ir daudz aktīvo savienojumiem, kas izmanto vienā datu bāzē atbilstoši, var būt daudz resursu datu bāzes tips šo konkrēto datu bāzes atslēgas.
Datorā, kurā ir 16 procesori, tikai tabulas objektu izmantot nodalītas bloķēšanas sistēmu. Tomēr datu bāzes bloķēšanas nav nodalīti. Tādēļ lielāka datu bāzes skaits bloķē, ilgāks laiks SQL Server datu bāzes bloķēšanas iegūt. Vairākums lietojumprogrammu nerodas problēmas, ko rada šo dizainu. Bet kā skaits pārsniedz noteiktu robežu, papildu darbs un laiks ir nepieciešams, lai iegūtu bloķēšanas. Lai gan maksa tikai micro sekundes katru papildu bloķēšanas, kopējais var ātri palielināt, jo jaukšanas kopumi bloķēšanas aizsardzību, izmantojot vienpiekļuves slēdzene. Tas izraisa papildu CPU ciklu un gaida papildu darbiniekiem iegūt atslēgas. Šis labojumfails nodrošina datu bāzes bloķēšanas nodalījumus, ja ir iespējots trasēšanas karodziņš T1236 startēšanas laikā. Dziļuma bloķēšanas saraksts nodalīšanas datu bāzes atslēga saglabā pārvaldāmam katra lokālajai nodalījumu. Tas ievērojami uzlabo piekļuves ceļš, kas tiek izmantota, lai iegūtu datu bāzes atslēga. Pārraudzīt LOCK_HASH vienpiekļuves slēdzene, varat izmantot šo vaicājumu.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 Lai iegūtu papildinformāciju par diagnosticēt un atrisināt vienpiekļuves slēdzene apgalvojuma SQL Server, dodieties uz šo dokumentu:Diagnosticēt un atrisināt vienpiekļuves slēdzene apgalvojuma SQL ServerPiezīme. Lai gan šajā dokumentā ir rakstīts SQL Server 2008 R2, informācija ir spēkā arī SQL Server 2012.
Atsauces
Lai iegūtu papildinformāciju par trasēšanas karodziņu SQL Server 2012, skatiet TechNet vietnē:
Papildinformāciju par trasēšanas karodziņu SQL Server 2012 Papildinformāciju par to, kā atrast datu bāzes bloķēšanas skaits lietotāju datu bāze par izmantot šo vaicājumu aprēķināt šo vērtību: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