SQL Server 2005'te belirli bir veritabanı bakım işlemleri veya normal işlem işlemler gerçekleştirildikten sonra sorgu performans düşmesiyle karşılaşabilirsiniz.

Makale çevirileri Makale çevirileri
Makale numarası: 917828 - Bu makalenin geçerli olduğu ürünleri görün.
# Hata: 329155 (SQLBUDT)
Hepsini aç | Hepsini kapa

Belirtiler

Microsoft SQL Server 2005'te, belirli bir veritabanı bakım işlemleri veya normal işlem işlemler gerçekleştirildikten sonra sorgu performans düşmesiyle karşılaşabilirsiniz. Örneğin, bir veritabanı yedeklemesini geri yükledikten sonra sorgu performansı ani bir düşüş fark edebilirsiniz.

SQL Server 2005 Service Pack 2 ile başlayarak, bu sorun oluştuğunda SQL Server hata günlüğünde aşağıdaki gibi bir ileti görürsünüz:
'Nesne planları' cachestore (planı önbellek bir parças?) yüzünden bazı bakım veritabanı veya işlemleri yeniden yapılandırmak için 2006-10-15 06:03:29.330 cachestore temizlenemedi, 4 yerde spid59 SQL Server karşılaştı.
'SQL planları' cachestore (planı önbellek bir parças?) yüzünden bazı bakım veritabanı veya işlemleri yeniden yapılandırmak için 2006-10-15 06:03:29.420 cachestore temizlenemedi, 4 yerde spid59 SQL Server karşılaştı.
2006-10-15 'Bağlama ağaçlar' cachestore (planı önbellek bir parças?) yüzünden bazı bakım veritabanı veya işlem yeniden 06:03:29.420 cachestore temizlenemedi, 4 yerde spid59 SQL Server karşılaştı.
Ancak, DBCC FREEPROCCACHE komutun veya yordam önbelleğindeki temizlemesini DBCC FREESYSTEMCACHE komutunu çalıştırabilirsiniz. Aşağıdaki komutları çalıştırarak yordamı önbelleği temizlendi, SQL Server hata günlüğünde aşağıdakilere benzer bir ileti görürsünüz:
2006-12-14 11:37:03.57 spid53 SQL Server cachestore temizlenemedi 'SQL planları' cachestore (planı önbellek bir parças?) yüzünden, 'DBCC FREEPROCCACHE' veya 'DBCC FREESYSTEMCACHE' işlemleri için 1 yerde karşılaştı.
2006-12-14 11:37:03.57 spid53 SQL Server 'DBCC FREEPROCCACHE' veya 'DBCC FREESYSTEMCACHE' işlemleri yüzünden 'Bağlama ağaçlar' cachestore (planı önbellek bir parças?) için temizleme cachestore, 1 yerde karşılaştı.
Bu nedenle, sorun bu makalede açıklanan soruna neden olup olmadığını belirlemek için SQL Server hata günlüğünü de inceleyebilirsiniz.

Not Bu davranış, Microsoft SQL Server 2008'de oluşmaz.

Neden

Bu sorun belirli bir veritabanı bakım işlemleri veya normal işlem işlemler tüm yordamı önbelleği temizlemek için oluşur.

Durum

Bu davranış tasarım yüzündendir.

Daha fazla bilgi

Aşağıdaki senaryolarda belirli bir veritabanı düzeyi işlemi gerçekleştirildiğinde, tam yordam önbelleğindeki kaldırılır:
  • Bir veritabanı için ON AUTO_CLOSE veritabanı seçeneği vardır. Kullanıcı bağlantı başvuruyor veya veritabanı kullanır, arka plan görevi kapatmak ve veritabanı otomatik olarak kapatmak çalışır.
  • Bazı sorgularda, varsayılan seçenekleri olan bir veritabanında çalıştırın. Sonra veritabanını bıraktı.
  • Kaynak veritabanı için veritabanı anlık bıraktı.

    Not Veritabanı anlık görüntüleri yalnızca Microsoft SQL Server 2005 Enterprise Edition'da kullanılabilir.
  • Veritabanı durumunu OFFLINE veya ÇEVRIMIÇI olarak değiştirin.
  • Başarıyla bir veritabanı için işlem günlüğü yeniden oluşturun.
  • Bir veritabanı yedeklemesini geri.
  • DBCC CHECKDB deyimini çalıştırın.

    Not SQL Server 2005 SP2 ' önceki sürümleri SQL Server 2005'in bu geçerlidir. SQL Server 2005 SP2 veya sonraki sürümler'i yükledikten sonra DBCC CHECKDB deyimini çalıştırdığınızda tüm yordam önbelleğindeki aktarılmadan değil.
  • Bir veritabanı bağlantısını kesin.
  • ALTER DATABASE deyimini çalıştırdığınızda, aşağıdaki seçeneklerden birini belirtin:
    • ÇEVRİMDIŞI
    • Çevrimiçi
    • DOSYA GRUBU VARSAYILAN OLARAK DEĞİŞTİRME
    • modify_name
    • DOSYA GRUBU read_write DEĞİŞTİRME
    • HARMANLA
    • DOSYA GRUBU read_only DEĞİŞTİRME
    • read_only
    • read_write
  • Sunucu aşağıdaki seçeneklerden birini RECONFIGURE beyannamenin değiştirilirse tüm yordamı önbelleği temizlendi:
    • Sahiplik DB zincirleme arası
    • Dizin oluşturma bellek (KB)
    • Uzak bir sorgu zaman aşımı (s)
    • Kullanıcı seçenekleri
    • en fazla metin çoğaltma boyutu (B)
    • Maliyet eşiğini parallelism
    • parallelism en büyük ölçüde
    • en az bellek her <a1>sorgu</a1> (KB)
    • Sorgu bekle (s)
    • en küçük sunucu bellek (MB)
    • en fazla sunucu bellek (MB)
    • Sorgu governor maliyet limiti
    Not Yordam önbelleğindeki gerçek değeri değişmez veya en fazla sunucu belleği sunucu seçeneği için yeni değeri 0 olarak ayarlanmışsa, temizlenecek değil.
Bu sorunla karşılaşırsanız, SQL Server 2005'in performans sayaçlarını verilerini toplamak için performans izleyicisi'ni kullanırken, aşağıdaki değerleri değişiklikler fark:
  • Performans nesnesi: İşlem
    Sayacı: % ??lemci Süresi
    Örnek: sqlservr

    Bu sayacın değeri, daha yüksek CPU etkinliği nedeniyle artar. Aslında, bu sorun oluşursa tüm yordamı önbelleği temizlendi. Bu nedenle, izleyen isteklerde, önbelleğe alınmak amacıyla, yeni planları oluşturmalıdır. Bu davranış, biraz CPU etkinliğini artırır.
  • Performans nesnesi: SQLServer:Plan önbelleği
    Sayacı: Önbellek nesnesi sayaçları
    Örnek: _Toplam

    Performans nesnesi: SQLServer:Plan önbelleği
    Sayacı: Önbellek sayfası
    Örnek: _Toplam

    Bu sayaçların değerleri aniden azaltır.

    Not MSSQL $ InstanceName adlandırılmış bir SQL Server 2005 örneği için performans nesnesi yeniden adlandırılır: önbellek planlanır.
  • Performans nesnesi: SQLServer:SQL istatistikleri
    Sayacı: SQLCompilations/sn

    Bu sayacın değeri, sonra bu olay önemli ölçüde artırır.

    Not MSSQL $ InstanceName adlandırılmış bir SQL Server 2005 örneği için performans nesnesi yeniden adlandırılır: SQL istatistikleri.
Bir SQL Profiler izleme yakalamak SP:CacheRemove olay'ı kullanarak, bu olay bu sorun oluştuğunda aşağıdaki TextData sütunu değeri ile birlikte oluşturulur dikkat edin:
"Tüm yordamı önbelleği Temizlenen"

Özellikler

Makale numarası: 917828 - Last Review: 17 Şubat 2009 Salı - Gözden geçirme: 7.0
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 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
Anahtar Kelimeler: 
kbmt kbsql2005engine kbexpertiseadvanced kbtshoot kbprb KB917828 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:917828

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