Düzeltme: Derlenmiş bir sorgu planını bellek kullanımı beklenmedik biçimde SQL Server 2005'te artırabilir

Makale çevirileri Makale çevirileri
Makale numarası: 919636 - Bu makalenin geçerli olduğu ürünleri görün.
# Hata: 810 (SQL düzeltmesi)
Duyuru
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.
Hepsini aç | Hepsini kapa
Bu makalede, bu düzeltme sürümü hakkında aşağıdaki açıklanır:
  • Bu düzeltme paketi ile giderilen sorunlar
  • Düzeltme paketini yükleme önkoşulları
  • Düzeltme paketini yükledikten sonra bilgisayarı yeniden başlatmalısınız hakkında bilgi
  • Düzeltme paketinin başka bir düzeltme paketiyle değiştirilip değiştirilmediğiyle ilgili bilgiler
  • Kayıt defteri değişiklikleri yapmanız gerekip hakkında bilgi
  • Düzeltme paketinin içerdiği dosyalar

Belirtiler

Bir sorgunun derlenmiş bir sorgu planını incelediğinizde, derlenmiş bir sorgu planını bellek kullanımını SQL Server 2005, Microsoft SQL Server 2000'e kıyasla beklenmedik biçimde artabilir görebilirsiniz.

Bu sorun, aşağıdaki koşullardan biri doğru olduğunda oluşabilir:
  • 1 Koşul: Sorgu, hesaplanan sütunlar kullanan bir tabloya başvuruyor.
  • 2 Koşul: Sorgu dize işlemlerini nvarchar sütun değerleri arasındaki ANSI dizesi içeriyor. Örneğin, dize işlem nvarchar sütunları ANSI dizesi değerlerini karşılaştırır.
  • 3 Koşul: Sorgu, hesaplanan bir sütun içeren bir tablodaki başvuru içeriyor. Hesaplanmış bir sütun, nvarchar sütunu temel alır. Ancak, bilgisayar sütun ANSI dize sabitleri deyim kullanır.
Koşullar, 2 ve 3, bir derlenmiş bir sorgu planı bellek kullanımını önemli bir artışa neden olabilir.

Örneğin, nvarchar sütunu olan bir tablo var. Tablo adı Tablom ve nvarchar sütun adı MyCol. Sonra aşağıdaki sözdizimini kullanarak sorgu tanımlayın:
SELECT CASE MyCol
          WHEN 'Value1' THEN 'NewValue1'
          WHEN 'Value2' THEN 'NewValue2'
          ELSE MyCol
       END
FROM MyTable
bu örnekte, ANSI dizesi "Değer1", "Değer2", "NewValue1" ve "NewValue2" dizeler şunlardır. MyCol nvarchar sütunun değeri, ilk "Değer1" ve "Değer2" ANSI dizesi ile karşılaştırılır. Ardından, "NewValue1", "NewValue2" karşılık gelen değeri ANSI dizesi ya da özgün MyCol sütun değerinin seçilir.

Derlenmiş bir plan bellek kullanımı, sys.syscacheobjects sistem tablosu veya sys.dm_exec_cached_plans Dinamik bir yönetim görünümü pagesused sütununu inceleyerek görüntüleyebilirsiniz.

Bu derlenmiş bir sorgu planını Artırılmış boyutu bir bekleme süresi yükseltip RESOURCE_SEMAPHORE_QUERY_COMPILE) bekleme türü için de neden olabilir.

Çözüm

Desteklenen bir düzeltme Microsoft'tan edinilebilir. Ancak bu düzeltmenin, yalnızca bu makalede anlatılan sorunu gidermesi amaçlanmıştır. Bu düzeltmeyi yalnızca bu sorunla karşılaşan sistemlere uygulayın. Bu düzeltme ek sınamaya tabi olabilir. Bu nedenle, bu sorun nedeniyle önemli ölçüde etkilenmediyseniz, bu düzeltmeyi içeren bir sonraki yazılım güncelleştirmesini beklemeniz önerilir.

Düzeltme karşıdan yüklenebilir ise bu Bilgi Bankası makalesinin başında "Düzeltme karşıdan yüklenebilir" bölümü bulunur. Bu bölüm görünmüyorsa, düzeltmeyi edinmek üzere Microsoft Müşteri Hizmetleri ve Destek ekibine başvurun.

Not Ek sorunlar oluşursa veya tüm sorun giderme işlemi gerekmiyorsa, 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. Microsoft Müşteri Hizmetleri ve Destek telefon numaralarının tam listesi veya ayrı bir hizmet isteği oluşturmak için, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=support
Not "Düzeltme karşıdan yüklenebilir" formunda, düzeltmenin kullanılabilir olduğu diller görüntülenir. Kendi dilinizi görmüyorsanız, bunun nedeni bu düzeltme, seçtiğiniz dil için kullanılamaz.

ÖNKOŞULLAR

Bu düzeltmeyi uygulamak için SQL Server 2005 Service Pack 1 (SP1) olması gerekir. SQL Server 2005 Service Pack 1'i edinme 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:
913089En son SQL Server 2005 hizmet paketi nasıl elde edilir

Yeniden başlatma bilgileri

Bu düzeltmeyi uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekmez. Ancak, bu sorundan etkilenen, veritabanı dosyaları Sağlıklı durumuna dönmek için bu düzeltmeyi uyguladıktan sonra "Workground" bölümündeki adımları izlemelisiniz.

Kayıt defteri Bilgileri

Kayıt defterini değiştirmeniz gerekmez.

Düzeltme Dosyası Bilgileri

Bu düzeltme, yalnızca bu makalede listelenen sorunları düzeltmek için gerekli olan dosyaları içerir. Bu düzeltme, bir ürünü en son sürüme tam olarak güncelleştirmek için gerekli olan dosyaları içermeyebilir.

Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'e (UTC) göre listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için <a0></a0>, Denetim Masası'ndaki Tarih ve saat öğesinde saat dilimi sekmesini kullanın.
SQL Server 2005 32-bit sürümü
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatform
Microsoft.SQLServer.sqlenum.dll9.0.2164.0908,06414-Haz-200612: 32X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2164.075,55214-Haz-200612: 29X86
Msgprox.dll2005.90.2164.0197,92014-Haz-200612: 29X86
Replprov.dll2005.90.2164.0547,61614-Haz-200612: 31X86
Replrec.dll2005.90.2164.0782,11214-Haz-200612: 32X86
Msmdlocal.dll9.0.2164.015,661,85614-Haz-200612: 33X86
Sqlaccess.dll2005.90.2164.0347,93614-Haz-200612: 31X86
Sqlservr.exe2005.90.2164.028,950,87214-Haz-200612: 33X86
SQL Server 2005 x 64 tabanlı sürümü
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatform
Microsoft.SQLServer.sqlenum.dll9.0.2164.0875,29614-Haz-200613: 12X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2164.091,42414-Haz-200612: 29X64
Msgprox.dll2005.90.2164.0259,36014-Haz-200613: 10X64
Replprov.dll2005.90.2164.0745,24814-Haz-200613: 12X64
Replrec.dll2005.90.2164.01,008,41614-Haz-200613: 12X64
Msmdlocal.dll9.0.2164.015,661,85614-Haz-200612: 33X86
Sqlaccess.dll2005.90.2164.0355,10414-Haz-200613: 11X86
Sqlservr.exe2005.90.2164.039,251,23214-Haz-200613: 13X64
SQL Server 2005 ıtanium mimarisi sürümü (ingilizce)
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatform
Microsoft.SQLServer.sqlenum.dll9.0.2164.0875,29614-Haz-200612: 29X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2164.0163,10414-Haz-200612: 29IA-64
Msgprox.dll2005.90.2164.0542,49614-Haz-200612: 28IA-64
Msmdlocal.dll9.0.2164.048,733,98414-Haz-200612: 30IA-64
Replprov.dll2005.90.2164.01,617,18414-Haz-200612: 29IA-64
Replrec.dll2005.90.2164.02,141,47214-Haz-200612: 29IA-64
Sqlaccess.dll2005.90.2164.0349,47214-Haz-200612: 28X86
Sqlservr.exe2005.90.2164.072,208,67214-Haz-200612: 30IA-64

Pratik Çözüm

Bu soruna geçici bir çözüm bulmak için <a0></a0>, sorun içerikte bulunan tüm dizeler önünde büyük harfi "H" ekleyin. Aşağıdaki sözdizimini kullanarak "Belirtiler" bölümünde anlatılan örnek değiştirebilirsiniz:

SELECT CASE MyCol WHEN N'Value1' THEN N'NewValue1' WHEN N'Value2' THEN N'NewValue2' ELSE MyCol END FROM MyTable

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

Derlenmiş bir plan bellek kullanımı, sys.syscacheobjects sistem tablosu veya sys.dm_exec_cached_plans Dinamik bir yönetim görünümü pagesused sütununu inceleyerek görüntüleyebilirsiniz.

Sys.syscacheobjects sistem tablosu hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/ms187815.aspx
Görünüm sys.dm_exec_cached_plans Dinamik yönetimi hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn.microsoft.com/en-us/library/ms187404.aspx
Microsoft 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ı: 919636 - Last Review: 20 Kasım 2007 Salı - Gözden geçirme: 1.9
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Standard X64 Edition
Anahtar Kelimeler: 
kbmt kbautohotfix kbsql2005engine kbhotfixserver kbexpertiseadvanced kbqfe kbfix kbpubtypekc KB919636 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:919636

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