Logige sisse Microsofti kontoga
Logige sisse või looge konto.
Tere!
Valige mõni muu konto.
Teil on mitu kontot
Valige konto, millega soovite sisse logida.

Vaikimisi SQL Server 2014 Service Pack 1 ja Service Pack 3 SQL Server 2012 sisaldavad selle paranduse ja teil pole vaja lisada mis tahes trace lipud, et määrata. Paranduse lubamiseks pärast installimist mõnda kumulatiivseid värskendusi jaotises otsus kirjeldatud peate käivitage Microsoft SQL Server, lisades jälituslipp 1236 startup parameetrid.

Sümptomid

Oletagem, et käivitada arvutis, mis sisaldab mitme protsessoriga ühendust Microsoft SQL Server 2014, SQL Server 2012, SQL Server 2008 või SQL Server 2008 R2. Kui locks arv (ressursi tüüp = andmebaasi) kindla andmebaasi ületab teatava piiri, ilmneb järgmine jõudluse probleeme:

  • Laiendatud väärtused esineda LOCK_HASH spinlock arv.

    Märkus. Lisateavet selle spinlock jälgimiseks jaotisest "Lisateavet".

  • Päringute või toiminguid, mis nõuavad andmebaasi locks võtta kaua aega, et lõpule viia. Näiteks võite märgata järgmist jõudlus viivitused:

    • SQL serveri logimine

    • Lingitud serveri päringud

    • sp_reset_connection

    • Kanded

Märkus. Leida locks loend (ressursi tüüp = andmebaasi) antud andmebaasis, lugege jaotist "Lisateavet". See läviväärtus riigiti keskkonnas.

Iga uue SQL serveri koondvärskendus sisaldab kõiki Kiirparandusi ja kõiki turbeparandusi, mis sisaldusid eelmises koondvärskenduses. Vaadake SQL serveri kumulatiivseid värskendusi:


Kiirparanduse teave
Toetatud käiguparandus on saadaval Microsoftilt. See kiirparandus on ette nähtud üksnes käesolevas artiklis kirjeldatud probleemi lahendamiseks. Kasutage seda parandust ainult selle konkreetse probleemiga süsteemides.

Kui kiirparandus on allalaadimiseks saadaval, on selle teabebaasi artikli alguses jaotis Kiirparandus on saadaval. Kui seda jaotist ei ole, saatke Microsofti klienditeenindusele ja -toele taotlus kiirparanduse hankimiseks.

Märkus. Kui ilmneb täiendavaid probleeme või kui vajalik on tõrkeotsing, peate looma eraldi tugiteenuse taotluse. Tavapärane tugiteenuse tasu kehtib täiendavatele tugiteenustega seotud küsimustele ning probleemidele, mis pole lahendatavad konkreetse värskenduse installimisega. Täieliku loetelu Microsofti klienditeeninduse ja -toe telefoninumbrite või eraldi tugiteenuse taotluse loomiseks külastage järgmist Microsofti veebisaiti:

http://support.microsoft.com/contactus/?ws=supportMärkus. Vormil Kiirparandus on allalaadimiseks saadaval kuvatakse keeled, mille jaoks kiirparandus on saadaval. Kui te ei näe oma keelt, ei ole kiirparandus selles keeles saadaval.

Olek

Microsoft on kinnitanud, et see probleem esineb jaotises "Kehtib järgmiste toodete kohta" loetletud Microsofti toodetel.

Lisateabe saamiseks

Kui rakendus loob ühenduse SQL serveri, esmalt loob andmebaasi raames. Vaikimisi proovib ühendust hankida andmebaasi lukk, SH režiimis. Kui ühendus on peatatud või andmebaasi seoses muudetakse ühendus kehtivuse ajal ilmub SH andmebaasi lukk. Kui teil on palju aktiivne ühendused, mis kasutavad sama andmebaasi raames, võib olla palju locks andmebaasi ressursi tüüp selle konkreetse andmebaasi.

Arvutis, kus on 16 või mitme protsessoriga, kasutage ainult tabeli objektid sektsioonitud lock süsteemi. Siiski andmebaasi locks on sektsioonida. Seetõttu suurem arv andmebaasi lukustab, seda kauem võtab SQL serveri hankimise lukustatud andmebaasi. Enamikus rakendustes ilmneda probleeme, mis on põhjustatud selle kujunduse. Kuid kui arv ületab teatava piiri, lisatöö ja kellaaeg on vaja saada lukustus. Kuigi hind on ainult micro sekundit iga täiendav Lock, kogu aeg saab kiiresti suurendada, sest lukk hash jääkfailihulgad on kaitstud ka spinlock abil. See põhjustab täiendavaid protsessori ja ootab täiendavat töötajad saada lukustus.

Selle kiirparanduse tutvustab andmebaasi lock eraldamine jälituslipp T1236 lubamisel käivitamisel. Lukusta loendi sügavus partitsioonideks jaotamise andmebaasi lukk hoiab hallatavaks iga kohaliku sektsiooni. See oluliselt optimeerib andmebaasi lukk hankida juurdepääsu tee.

LOCK_HASH spinlock jälgimiseks kasutage järgmist päringu.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
Diagnoosimiseks ja lahendamiseks spinlock väide SQL serveri kohta lisateabe saamiseks külastage järgmist dokumenti:

Diagnoosimiseks ja lahendamiseks Spinlock väide SQL serverisMärkus. Kuigi see dokument on kirjutatud SQL Server 2008 R2, teave on siiski mõeldud SQL Server 2012.

Viited

Trace lipud SQL Server 2012 kohta lisateabe saamiseks külastage järgmist TechNeti veebisaiti:

Teave trace lipud SQL Server 2012
Kuidas leida andmebaasi locks arv kasutaja andmebaasi kohta lisateabe saamiseks kasutage järgmist päringu selle väärtuse arvutamiseks.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


Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.

Kogukonnad aitavad teil küsimusi esitada ja neile vastuseid saada, anda tagasisidet ja saada nõu rikkalike teadmistega asjatundjatelt.

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?
Kui klõpsate nuppu Edasta, kasutatakse teie tagasisidet Microsofti toodete ja teenuste täiustamiseks. IT-administraator saab neid andmeid koguda. Privaatsusavaldus.

Täname tagasiside eest!

×