Applies ToSQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Standard SQL Server 2012 Express SQL Server 2012 Web SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2008 Service Pack 3 SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard

Varsayılan olarak, bu düzeltmeyi içeren SQL Server 2014 için Service Pack 1 ve Service Pack 3 için SQL Server 2012 ve düzeltmeyi etkinleştirmek için herhangi bir izleme bayrağı eklemek zorunda değilsiniz. Çözüm bölümünde toplu güncelleştirmelerden birini yükledikten sonra bu düzeltmeyi etkinleştirmek için Microsoft SQL Server için başlangıç parametreleri izleme bayrağı 1236 ekleyerek başlatmanız gerekmektedir.

Belirtiler

Çok sayıda işlemci içeren bir bilgisayarda Microsoft SQL Server 2014, SQL Server 2012, SQL Server 2008 veya SQL Server 2008 R2'in bir örneğini çalıştırmak varsayalım. Zaman kilit sayısı (kaynak türü = veritabanı) belirli bir veritabanında belirli bir eşiğe aşıyor için aşağıdaki performans sorunlarla karşılaşırsınız:

  • LOCK_HASH sayaç kilidi sayısı için yükseltilmiş değerleri oluşur.Not: Bu sayaç kilidi izleme hakkında bilgi için "Ek bilgi" bölümüne bakın.

  • Sorgular veya veritabanı kilitleri gerektiren işlemleri tamamlanması uzun sürebilir. Örneğin, aşağıdaki performans gecikmeler görebilirsiniz:

    • SQL Server oturumları

    • Bağlantılı sunucu sorgular

    • sp_reset_connection

    • Hareketleri

Not: Kilitleri listesini bulmak için (kaynak türü = veritabanı) belirli bir veritabanı üzerinde "Ek bilgi" bölümüne bakın. Eşik değeri ortama göre değişir.

Her yeni bir toplu güncelleştirme SQL Server için tüm düzeltmeleri içerir ve tüm güvenlik, düzeltmelerini önceki toplu güncelleştirme ile birlikte. SQL Server için en son toplu güncelleştirme denetleyin:

Düzeltme bilgileriMicrosoft, desteklenen bir düzeltmeyi kullanıma sunmuştur. Ancak bu düzeltme yalnızca bu makalede anlatılan sorunu düzeltmek amacıyla hazırlanmıştır. Bu düzeltmeyi yalnızca bu sorunla karşılaşmış olan sistemlere uygulayın.İndirilebilir bir düzeltme varsa, bu Bilgi Bankası makalesinin üst kısmında "İndirilebilir Düzeltme Kullanılabilir" bölümü bulunur. Bu bölüm görünmüyorsa, düzeltmeyi edinmek üzere Microsoft Müşteri Hizmetleri ve Destek bölümüne bir istek gönderin.Not: Ek sorunlar oluşursa veya sorun giderme gerekiyorsa, ayrı bir hizmet isteği oluşturmanız gerekebilir. Ek destek sorularına ve bu düzeltme için geçerli olmayan sorunlara normal destek ücretleri uygulanır. Tam listesi Microsoft Müşteri Hizmetleri ve destek telefon numaralarını veya ayrı bir hizmet isteği oluşturmak için aşağıdaki Microsoft Web sitesini ziyaret edin:

http://support.microsoft.com/contactus/?ws=supportNot: "Düzeltme karşıdan kullanılabilir" formunda düzeltmenin kullanılabilir olduğu diller görüntülenir. Kendi dilinizi görmüyorsanız, bu dil için bir düzeltme mevcut değil demektir.

Durum

Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Daha fazla bilgi

Bir uygulama SQL Server'a bir bağlantı yaptığında, önce bir veritabanı bağlamı kurar. Varsayılan olarak, bağlantı SH modunda veritabanı kilit edinmeye çalışır. SH-veritabanı kilit bağlantı durduruldu veya veritabanı içeriği bağlantı kullanım süresi boyunca değiştirilir yayımlanacaktır. Aynı veritabanı içeriği kullanan birçok etkin bağlantılar varsa, o belirli bir veritabanı için veritabanı kaynak türünün birçok kilitleri olabilir.16 veya daha çok CPU olan bilgisayarda bölümlenmiş kilit düzen yalnızca tablo nesneleri kullanın. Ancak, veritabanı kilitleri bölümlendirilir değil. Bu nedenle, veritabanı sayısı o kadar büyük kilitler, SQL Server veritabanı üzerinde bir kilit elde etmek için daha uzun sürer. Çoğu uygulamalar bu tasarım tarafından neden olduğu sorunları yaşamazsınız. Ancak belirli bir eşiğe aşıyor tamamlanmaz, ek çalışma ve zaman gerekli kilit elde edilir. Maliyet sadece mikro saniye her ek kilit olsa da, toplam süre kilit karma demetleri bir sayaç kilidi kullanılarak korunan çünkü hızla artabilir. Bu ek CPU döngülerini neden olur ve kilit elde etmek ek çalışanları için bekler.Bu düzeltme, başlatma sırasında izleme bayrağı T1236 etkin olduğunda veritabanı kilit bölümleme tanıtır. Veritabanı kilit bölümleme kilit listesinin derinlik yerel her bölüm içinde yönetilebilirliğini korur. Bu veritabanı kilit elde etmek için kullanılan erişim yolu önemli ölçüde iyileştirir.LOCK_HASH sayaç kilidi izlemek için aşağıdaki sorguyu kullanabilirsiniz.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 = 1WHILE @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 ENDSELECT * FROM #spinlock_stats ORDER BY [CaptureTime]DROP TABLE #spinlock_stats Sayaç kilidi çekişmesi SQL Server'da tanılamada ve hakkında daha fazla bilgi için aşağıdaki belgeye bakın:

Tanılamada ve SQL Server'da sayaç Kilidi çakışmasıNot: Bu belge SQL Server 2008 R2 için yazılmış olsa da, bilgi için SQL Server 2012 hala geçerlidir.

Başvurular

SQL Server 2012'de izleme bayraklar hakkında daha fazla bilgi için aşağıdaki TechNet Web sitesine gidin:

SQL Server 2012'de izleme bayraklar hakkında bilgi Kullanıcı her bir veritabanı, veritabanı kilit sayısı bulma hakkında daha fazla bilgi için bu değeri hesaplamak için aşağıdaki sorgu kullanın: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

Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.

Topluluklar, soru sormanıza ve soruları yanıtlamanıza, geri bildirimde bulunmanıza ve zengin bilgiye sahip uzmanlardan bilgi almanıza yardımcı olur.