Düzeltme: Tablo NOLOCK ipucunu BLOB verileri almak için SQL Server 2005 veya SQL Server 2008 kullanan bir sorgu çalıştırdığınızda, sorgu çok yavaş çalışır

Makale çevirileri Makale çevirileri
Makale numarası: 961049 - Bu makalenin geçerli olduğu ürünleri görün.
Microsoft, Microsoft SQL Server 2005 düzeltmeleri tek bir yüklenebilir dosya dağıtır. Düzeltmeleri birikimli olduğu için her yeni sürüm, tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2005 ile birlikte verilen tüm güvenlik düzeltmelerini düzeltin.
Microsoft, Microsoft SQL Server 2008'in düzeltmeleri tek bir yüklenebilir dosya dağıtır. Düzeltmeleri birikimli olduğu için her yeni sürüm, tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2008'in içerdiği tüm güvenlik düzeltmelerini düzeltin.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

NOLOCK ipucunu tablo Microsoft SQL Server 2005 veya Microsoft SQL Server 2008 kullanan bir sorgu var. Sorgu büyük bir tablodaki bir büyük ikili nesne (BLOB) veri aşağıdaki veri türlerinden birinin okur:
  • Metin veri türü
  • NText veri türü
  • Resim veri türü
Sorguyu çalıştırdığınızda, sorgu çok yavaş çalışır. Sorgunun oluşturduğu disk etkinliği incelerseniz, mantıksal okuma sayısı çok yüksek olduğuna dikkat edin.

Not Disk faaliyetleri görüntülemek için <a0></a0>, SET STATISTICS GÇ ON yan tümcesi kullanarak sorguyu çalıştırın.

Neden

NOLOCK ipucunu tablo kullanan bir sorgu BLOB veri okuduğunda, her bir BLOB sayfaya karşılık gelen dizin ayırma eşlemesi (IAM) incelenerek tahsis edilir SQL Server doğrular. IAM tahsisat sayfa bağlantılı bir listesidir. Her IAM sayfanın yaklaşık 4 GB veri alabilir (sayfa boyutu 8 KB * 8 sayfaları * 64.000 kapsamlarını). Büyük bir nesne ise, doğrulama işlemi aşırı bir mantıksal okuma için yol açabilir.

Örneğin, bir dosya grubu için eşlenen büyük bir nesne vardır. Dosya grubu dosyalarının toplam boyutu, 700 GB'dir. Bu durumda, bu nesne için IAM kadar 175 sayfaları içerebilir. Şimdi bir sorgu bu nesne üzerinde tablo NOLOCK ipucunu kullanarak çalıştırdığınız ve sorgu 10.000 BLOB sayfalarına erişir, IAM sayfalara ilişkili mantıksal okuma sayısı 175 * 10,000 = 1,750,000 en kötü durumda olacaktır. SQL Server bağlantılı liste yarısını geçme ilgili IAM sayfayı bulursa, ortalama IAM sayfalara ilişkili mantıksal okuma sayısı yaklaşık 1,750,000 olacak / 2 = 875,000. Bu, 10.000 BLOB sayfalarına erişmek bir sorgu ödemek için çok yüksek bir ek yük olur.

Çözüm

SQL Server 2005 için güncelleştirme bilgileri

Bu sorunla ilgili düzeltme, ilk önce SQL Server 2005 Service Pack 3 için toplu güncelleştirme 3'te yayımlanmıştır. SQL Server 2005'te bu toplu güncelleştirme paketini elde etme hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
967909SQL Server 2005 Service Pack 3 için toplu güncelleştirme paketine 3
Not Yap?lar birikimli olduğu için her yeni düzeltme yayımlanan tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2005 ile birlikte verilen tüm güvenlik düzeltmelerini düzeltin. Bu düzeltmeyi içeren en son düzeltme sürümü uygulama ele almanızı öneririz. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
960598SQL Server 2005, SQL Server 2005 Service Pack 3 yayımlandıktan sonra yayımlanan oluşturur

SQL Server 2008 için toplu güncelleştirme bilgileri

Bu sorunla ilgili düzeltme, ilk önce SQL Server 2008 için toplu güncelleştirme 5'te yayımlanmıştır. SQL Server 2008 için bu toplu güncelleştirme paketini elde etme hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
969531SQL Server 2008 için toplu güncelleştirme paketine 5
Not Yap?lar birikimli olduğu için her yeni düzeltme yayımlanan tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2008'in içerdiği tüm güvenlik düzeltmelerini düzeltin. Bu düzeltmeyi içeren en son düzeltme sürümü uygulama ele almanızı öneririz. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
956909SQL Server 2008, SQL Server 2008'de yayımlandıktan sonra yayımlanan oluşturur

Durum

Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır.

Daha fazla bilgi

Bu sorun için düzeltme IAM önbellek hızla bir BLOB sayfası gerçekte ayrılmış olup olmadığını belirlemek için kullanır.

Hangi dosyalar değiştirilir hakkında daha fazla bilgi ve bu Microsoft Bilgi Bankası makalesinde açıklanan düzeltmeyi içeren bir toplu güncelleştirme paketini uygulamak için Önkoşullar hakkında bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
967909SQL Server 2005 Service Pack 3 için toplu güncelleştirme paketine 3
Hangi dosyalar değiştirilir hakkında daha fazla bilgi ve bu Microsoft Bilgi Bankası makalesinde açıklanan düzeltmeyi içeren bir toplu güncelleştirme paketini uygulamak için Önkoşullar hakkında bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
969531SQL Server 2008 için toplu güncelleştirme paketine 5

Referanslar

SQL Server 2005 Service Pack 3'ü sonra kullanılabilen yap?lar listesi hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
960598SQL Server 2005, SQL Server 2005 Service Pack 3 yayımlandıktan sonra yayımlanan oluşturur
SQL Server 2008, sonra kullanılabilen yap?lar listesi hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
956909SQL Server 2008, SQL Server 2008'de yayımlandıktan sonra yayımlanan oluşturur
SQL Server için artımlı hizmet modeli hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
935897SQL Server ekibinden bildirilen sorunlar için düzeltmeler ulaştırmak için artımlı bir hizmet modeli kullanılabilir
SQL Server güncelleştirmelerinin adlandırma şeması hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
822499Microsoft SQL Server yazılım güncelleştirme paketlerinin yeni adlandırma şeması
Yazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824684Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Özellikler

Makale numarası: 961049 - Last Review: 18 Mayıs 2009 Pazartesi - Gözden geçirme: 3.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
Anahtar Kelimeler: 
kbmt kbsurveynew kbhotfixrollup kbfix kbqfe kbexpertiseadvanced KB961049 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:961049

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com