Nasıl, SQL Server'ın 64-bit sürümünde arabellek havuzu bellek disk belleği azaltın

Makale çevirileri Makale çevirileri
Makale numarası: 918483 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Microsoft SQL Server dinamik bellek yönetimi geçerli iş yükünü ve aktiviteleri sistemdeki bellek gereksinimlerini temel alarak yapar. Windows Server 2003 veya Windows XP veya daha ileri sürüm sistem üzerinde SQL Server QueryMemoryResourceNotification Windows API tarafından sağlanan bellek bildirim mekanizması kullanabilirsiniz. Microsoft Windows 2000 Server tabanlı bir sistemde SQL Server düzenli aralıklarla boş fiziksel bellek sistem yerel Windows API kullanarak hesaplar. Bu bilgileri QueryMemoryResourceNotification Windows API veya bellek hesaplamaya bağlı olarak, SQL Server belirli bir sistemde geçerli bellek durumu yanıt verir. Bu aşağıdaki yararları sağlar:
  • Sistem çalışma kümesi SQL Server işleminin sayfa değil.
  • Gerekli veritabanı sayfaları belleğe fiziksel g/ç gereksinimlerini azaltmak için kullanılabilir.
Daha fazla bilgi için "Dinamik bellek yönetimi" ve SQL Server Çevrimiçi Kitapları'nda "Sunucu bellek seçenekleri" konularına bakın.

Belirtiler

SQL Server'ın 64-bit sürümleri, çeşitli sorunlar ortaya çıkabilir. Örneğin, aşağıdaki sorunlar oluşabilir:
  • Aniden SQL sunucusunun performansını azaltır.
  • SQL Server çalışan bir bilgisayarda kısa bir süre için yanıt vermiyor.
  • SQL Server'a bağlanmak uygulamaları için zaman aşımı oluşur.
  • Hatta basit komutları çalıştırın veya sistem üzerinde uygulamalar kullandığınızda sorunlar oluşur.
SQL Server 2005 Service Pack 2 (SP2) veya sonraki bir sürümü yüklü değilse, bu sorun oluştuğunda aşağıdaki hata iletilerinden birini SQL Server hata günlüğüne kaydedilir:
Hata iletisi 1
tarih saat spid1s A sql sunucu işleminin bellek önemli bir bölümü üzerinde belleğine. Bu performans düşmesine neden olabilir. Süre: 0 saniye. Çalışma (KB) ayarlayın: (KB) 1086400, kaydedilmiş: 2160928, bellek kullanımı: % 50.
Hata iletisi 2
tarih saat spid1s A sql sunucu işleminin bellek önemli bir bölümü üzerinde belleğine. Bu performans düşmesine neden olabilir. Süre: 315 saniye. Çalışma (KB) ayarlayın: (KB) 410156, kaydedilmiş: 2201296, bellek kullanımı: % 18.
Hata iletisi 3
tarih saat spid1s A sql sunucu işleminin bellek önemli bir bölümü üzerinde belleğine. Bu performans düşmesine neden olabilir. Süre: 646 saniye. Çalışma (KB) ayarlayın: (KB) 901904, kaydedilmiş: 2215752, bellek kullanımı: % 40.

Microsoft SQL Server destek ekibi de ek hata iletileri veya uyarılar SQL Server hata günlüğünde veya Windows olay günlüklerine kaydedilen gözlenen. Bu iletiler, aşağıdakine benzer:
2009-05-05 15:43:56.01 Server      Resource Monitor (0x13c43) Worker 0x0412C1E8 appears to be non-yielding on Node 0. Memory freed: 34152 KB. Approx CPU Used: kernel 171 ms, user 140 ms, Interval: 125093.

2009-05-05 12:54:52.18 Server      * *******************************************************************************
2009-05-05 12:54:52.18 Server      * BEGIN STACK DUMP:
2009-05-05 12:54:52.18 Server      *   05/05/08 12:54:52 spid 0
2009-05-05 12:54:52.18 Server      * Non-yielding Resource Monitor
2009-05-05 12:54:52.18 Server      * *******************************************************************************

2009-06-10 09:13:53.44 Server      * *******************************************************************************
2009-06-10 09:13:53.44 Server      * BEGIN STACK DUMP:
2009-06-10 09:13:53.44 Server      *   06/10/09 09:13:53 spid 0
2009-06-10 09:13:53.44 Server      * Non-yielding IOCP Listener
2009-06-10 09:13:53.44 Server      * *******************************************************************************

2009-06-10 09:13:55.85 spid2s      LazyWriter: warning, no free buffers found.

2009-07-15 13:27:45.35 spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) is marked for unload due to memory pressure.
2009-07-15 13:27:45.35 spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) unloaded.

2009-07-15 13:37:51.42 Logon       Error: 17189, Severity: 16, State: 1.
2009-07-15 13:37:51.42 Logon       SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems. [CLIENT: xx.xxx.xx.xx]

Event Type:	Error
Event Source:	SQLBrowser
Event ID:	8
Description: The SQLBrowser service was unable to process a client request. 
"Önemli bir bölümü sql sunucu işleminin bellek belleğine" hatası ile birlikte bu ek hata iletileri veya uyarılar görünebilir ileti. Bazı durumlarda, hata iletisi ile birlikte bu ek hata iletileri veya uyarılar görünmedi.

Bu hata iletileri veya uyarılar birini fark ederseniz, SQL Server tek nedeni olarak değil ancak bir nedeni bu makalede açıklanan küme disk belleği çalışma düşünün. Bu ek hata iletileri veya uyarılar çeşitli diğer koşullar ya da nedenleri oturum açmış.

Neden

Bu sorun, Windows işletim sistemi sayfaları çalışma kümesi SQL Server işleminin out nedeniyle oluşur.

Çalışma kümesi SQL Server işleminin, yüzde 50 ulaştığında bu hata iletileri kaydediliyor veya daha az bellek SQL Server işlem için kaydedilmiş. Bu hata iletileri Windows işletim sistemi sayfaları çalışma kümesi SQL Server işleminin out çünkü içinde SQL Server önemli ölçüde performansınızın durumu belirlemek için kullanabilirsiniz. Ayrıca, bu hata iletileri, her beş dakikada sırasında ilk 30 dakika günlüğe kaydedilir. En fazla bir gün sıklığını erişene kadar ilk 30 dakika sonra bu hata iletileri sıklığını ikiye katlanır.

Bu sorun oluştuğunda, sistemdeki diğer uygulamaların çalışma kümesi de aynı zamanlarda belleğine olduğunu fark edebilirsiniz.
Daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://blogs.msdn.com/psssql/archive/2007/05/31/the-SQL-Server-Working-Set-Message.aspx
Ayrıca, SQL Server örneği bu hata iletisini almanıza neden olabilecek bilinen bir sorun bulunmaktadır. Hata iletisi, SQL Server başlatma işlemi sırasında SQL Server hata günlüğüne kaydedilir. Hata iletisi yanlış bir uyarı olabilir. Bu nedenle, çalışma kümesi kırpma gerçekten oluştuğunu belirtemez. Daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://blogs.msdn.com/psssql/archive/2009/05/12/SQL-Server-Reports-Working-Set-Trim-Warning-Message-During-Early-Startup-Phase.aspx

Pratik Çözüm

Bu soruna geçici bir çözüm bulmak denemeden önce bu sorunu gidermek için "bu sorunu gidermek nasıl" bölümünde adımları gerçekleştirin.

Bu sorun oluşmaya devam ederse, Windows işletim sisteminin gelen SQL sunucu işlemi, arabellek havuz belleği doldurarak fiziksel bellekte arabellek havuzu için ayrılan bellek kilitleyerek engelleyebilirsiniz. SQL Server hizmeti başlangıç hesabı olarak kullanılan kullanıcı hesabı için bellekteki kilit sayfaları kullanıcı hakkı atanarak bellek kilitleyin.

Not SQL Server 64-bit sürümleri için yalnızca SQL Server Enterprise Edition bellekteki kilit sayfaları kullanıcı hakkını kullanabilirsiniz. Bu, SQL Server 2008 [RTM ve SP1] ve [RTM, SP1, SP2, SP3] SQL Server 2005 için geçerlidir. SQL Server 2008 SP1 toplu güncelleştirme 2 ve SQL Server 2005 SP3 toplu güncelleştirme 4 Bellekteki sayfaları kilitle kullanıcı hakkını kullanmak SQL Server Standard sürümleri için destek sunar. 64-bit sistemlerde kilitli sayfaları için destek 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:
970070 SQL Server 2005 Standard Edition 64-bit sistemlerde ve SQL Server 2008 Standard Edition 64-bit sistemlerde kilitli sayfaları için desteği
Bellekteki kilit sayfaları kullanıcı hakkını atamak için şu adımları izleyin:
  1. Başlat' ı tıklatın, Çalıştır' ı türü gpedit.msc, sonra da Tamam' ı tıklatın.

    NotGrup İlkesi iletişim kutusu görüntülenir.
  2. ComputerConfigurationgenişletin ve sonra da Windows ayarları' nı genişletin.
  3. Güvenlik ayarları' nı ve ardındanYerel ilkeler' i genişletin.
  4. Kullanıcı hakları ataması' nı tıklatın ve sonra kilit sayfaları inmemoryçift tıklatın.
  5. Yerel Güvenlik İlkesi ayarıiletişim kutusunda, kullanıcı veya Grup Ekle'yitıklatın.
  6. Kullanıcıları veya Grupları Seç iletişim kutusunda, Sqlservr.exe dosyasını çalıştırmak için izni olan bir hesap ekleyin veTamam' ı tıklatın.
  7. Grup İlkesi iletişim kutusunu kapatın.
  8. SQL Server hizmetini yeniden başlatın.
Atadığınız sonra bellekteki kilit sayfaları kullanıcı hakkı ve SQL Server hizmetini yeniden başlatın, Windows işletim sistemi içinde SQL Server arabellek havuzu bellek sayfaları artık işlemek. Ancak, Windows işletim sisteminin hala dışarı nonbuffer havuzu bellek SQL Server işlemi içinde sayfa sayfa ilerleyebilirsiniz.

Başlangıçta SQL Server hata günlüğüne aşağıdaki iletiyi yazılmış sağlayarak kullanıcı hakkı SQL Server örneği tarafından kullanıldığını doğrulamak için:
Arabellek havuzu için kilitli sayfaları kullanma
Bu ileti, bu iletide ERRORLOG hakkında daha fazla bilgi SQL Server yalnızca 64-bit sürümleri için geçerlidir, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://blogs.msdn.com/psssql/archive/2007/10/18/do-i-have-to-Assign-the-Lock-Privilege-for-Local-System.aspx
Windows işletim sistemi sayfaları nonbuffer havuzu bellek yetersiz olduğunda hala performans sorunlarıyla karşılaşabilirsiniz. Ancak, "Belirtiler" bölümünde açıklanan hata iletilerini SQL Server hata günlüğüne oturum açmadınız. Bu davranış, bir SQL Server işlem çalışma kümesi genellikle yüzde 50 ulaşmıyor nedeniyle oluşur veya kaydedilmiş bellek, daha az.

Daha fazla bilgi

Bu sorunun nasıl giderileceği

Bu sorunu gidermek için şu adımları izleyin:
  1. Windows işletim sisteminin çalışma kümesi SQL Server işleminin sayfa için neden bilinen sorunları gidermek için aşağıdaki Microsoft Knowledge Base makalelerinde anlatılan düzeltmeleri uygulanır.

    Not Düzeltmeler birikimlidir. Önceki sürümleri bu düzeltme bir düzeltme sonraki bir sürümünü içerir.
    • Microsoft SQL Server'ın 64-bit edition çalışma kümesi kesileceği neden olabilecek bir sorunu buldu. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
      905865 Oturum açmak veya Windows Server 2003 çalıştıran bir bilgisayar oturumunu kapatmak için Terminal Hizmetleri'ni kullandığınızda, konsol oturumunda tüm işlemler çalışma kümesi boyutunu kırpılmış
    • Arabelleğe alınmış g/ç, gibi bir dosya kopyalama işlemi gerçekleştiren bir uygulama ise bunlar arabellekleri önbellek, Windows Server 2003 çalıştıran bilgisayarlarda çok agresif olabilir. Bu davranış çalışma kümesi SQL Server içinde kırpılmış olması neden olabilir. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
      920739 Yaklaşık 500 MB Windows Server 2003 SP1 veya Windows Server 2003 SP1'den büyük dosyaları kopyalarken genel sistem performans düşmesiyle karşılaşabilirsiniz
    • Bazı gelişmiş TCP özellikleri Sistem kullanırken SQL Server çalışma kümesi kırpılmış. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
      942861 Bir uygulama SQL Server'a Windows Server 2003 çalıştıran bir sunucuya bağlandığında, hata iletisi: "Genel ağ hatası" "İletişim bağlantısı hatası" veya "Bir aktarım düzeyi hatası"
    • Sistem işlemi, Windows Server 2003 çalıştıran çok işlemcili bir bilgisayardaki, kullanılabilir belleğin çoğunu tüketebilir. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
      942486 Sistem işlemi, Windows Server 2003 çalıştıran çok işlemcili bir bilgisayarda kullanılabilir belleğin çoğunu tüketebilir
  2. Bir aygıt sürücüsünü kullanıyorsa, MmAllocateContiguousMemory işlev, ve değerini ayarlar HighestAcceptableAddress Parametre 4 gigabayttan (GB) için Windows işletim sisteminin 64-bit SQL Server işlem çalışma kümesini sayfa. Bu sorunu gidermek için sürücü güncelleştirmeleri için aygıt sürücü satıcısına başvurun. Sorunlarıyla karşılaşmış sürücülerinin bir listesi için aşağıdaki Microsoft Bilgi Bankası makalesinde "diğer satıcılar" bölümüne bakın:
    2121098 Önerilen işletim sistemi güncelleştirmeleri ve sürücüleri SQL Server yüklemeleri
  3. Bu düzeltmeyi uyguladıktan sonra yine bu sorunla karşılaşırsanız, işlem başına kesim işlemlerinin sayısını sınırlayan bir Windows düzeltmesi uygulanır. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
    938486 Windows Server 2003 tabanlı bir bilgisayarda, büyük miktarda bellek istekleri belirsiz bir modül tarafından neden olduğu bir bellek yöneticisi kırpma işlemi nedeniyle yanıt vermemeye başlıyor
    956341 Windows Server 2003 tabanlı bir bilgisayara büyük bellek ayırma isteği yanıt vermemeye başlıyor
    Bir aygıt sürücüsü bellek ayırmaya çalıştığında, Windows işletim sisteminin diğer uygulamaların çalışma kümesi sayfa. Bu Windows düzeltme, soruna neden olan aygıt sürücüsünü bulmak için olay izleme kullanmanızı sağlar. Çalışma kümesi kırpma davranışını neden olan sürücü hakkında daha fazla bilgi için MSDN makalesine bakın"Bitişik bellek sürücülerini tanımlama."
  4. Uygulamalar, sistem önbelleği çok fazla kullanıyor olabilirsiniz ve büyük bir sistem önbelleği büyümesi neden olabilir. Sistem önbelleği büyüme için yanıt, sistem sayfaları çalışma kümesi SQL Server işleminin veya diğer uygulamalarda dışarı. Bu sorunla karşılaşırsanız, uygulamada bazı bellek yönetim işlevleri kullanabilirsiniz. Bu işlevler, dosya g/ç işlemlerinde uygulamada kullanabileceğiniz sistem önbellek alanı denetler. Örneğin, kullanma SetSystemFileCacheSize işlev ve GetSystemFileCacheSize Dosya g/ç işlemlerini kullanabilirsiniz sistem önbellek alanı denetlemek için işlev.

    Bellek performans nesnesi, çeşitli sayaç değerlerini çalışma kümesi sistem önbelleği çok fazla bellek kullanıp kullanmadığını belirlemek için bu nesneyi görüntülemek için kullanabilirsiniz. Örneğin, önbellek bayt ve sistem önbelleği yerleşik bayt sayaçları görüntüleyebilirsiniz. Bu konu hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitelerini ziyaret edin:
    http://blogs.msdn.com/ntdebugging/archive/2007/11/27/too-Much-Cache.aspx

    http://blogs.msdn.com/ntdebugging/archive/2009/02/06/Microsoft-Windows-Dynamic-Cache-Service.aspx

    http://support.microsoft.com/default.aspx?scid=kb;EN-US; 976618
    Karşıdan yükleme ve dağıtma "Microsoft Windows dinamik önbelleği, sistem önbelleği tarafından tüketilen bellek denetlemek için hizmet".
  5. SAP R/3 ile birlikte SQL Server çalışıyorsa, bir disk belleği sorunu yaşayabilirsiniz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    931308 Windows Server 2003 tabanlı bir bilgisayarda bir SAP R/3 programını çalıştırdığınızda, sabit diske daha fazla disk belleği karşılaşabilirsiniz
  6. Windows Server 2008 üzerinde SQL Server çalıştırıyorsanız, diğer işletim sistemi bileşenleri tarafından çalışma kümesi kırpma veya gereksiz aşırı bellek tüketimi için yol açabilecek bilinen sorunlara yönelik düzeltmeleri uygulamanız gerekir. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:

    971442 Bir ağ üzerinden Windows Server 2008 veya Windows Vista çalıştıran bir sunucuya dosyaları kopyalamaya çalıştığınızda sunucunun sistem performansını ciddi bir şekilde azaltılan olur

    974609 Rastgele bir Windows Server 2008 çalıştıran bir bilgisayarda, büyük bir uygulama çalıştırdığınızda, yanıt vermiyor

    971714 Rapor oluşturma işlemi, bir Windows Server 2008 tabanlı bir etki alanı denetleyicisinde bir rapor oluşturmak için Active Directory tanılama şablonuyla Perfmon.exe çalıştırdığınızda, yanıt vermemeye başlayabilir
  7. Windows hizmet 2008 R2 üzerinde SQL Server çalıştırıyorsanız, çalışma kümesi kırpma yol açabilecek bilinen sorunlara yönelik düzeltmeleri uygulamanız gerekir. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
    979149 Büyük bir uygulama çalıştırdığınızda, Windows 7 veya Windows Server 2008 R2 çalıştıran bir bilgisayar yanıt vermemeye başlıyor

    2155311 Düşük performans NUMA tabanlı işlemci olan ve Windows Server 2008 R2 veya Windows 7'yi bir iş parçacığı isteği çok ilk 4 GB'lik bölümünde bellek bellek ise çalıştıran bir bilgisayarda oluşur

    2468345 Bilgisayar zaman zaman kötü yapar ya da Windows Server 2008 R2'de Storport sürücüsü kullanıldığında yanıt vermiyor

SQL Server'ın 64-bit sürümleri tarafından kullanılan bellek belirleme

SQL Server'ın 64-bit sürümleri tarafından kullanılan bellek sayfasını görüntülemek için Performans İzleyicisi'ni kullanabilirsiniz. Bunu yapmak için aşağıdaki performans sayacı izlemek:
Performans nesnesi: bellek
Sayaç: Sayfa/sn
Bu sayaç bellek sayfası belirlemek için nasıl kullanılacağı 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:
889654 Windows Server 2003 veya Windows XP 64-bit sürümleri için uygun sayfa dosya boyutunu belirleme
Ayrıca, SQL Server'ın 64-bit sürümleri üzerindeki etkisini performans sayaçları izleyerek ölçebilirsiniz:
Performans nesnesi: işlem
Sayacı: Özel bayt
Örnek: sqlservr

Performans nesnesi: işlem
Sayaç: Çalışma kümesi
Örnek: sqlservr
Özel Bayt sayacı, şu anda kaydedilmiş bellek ölçer. Çalışma kümesi sayaç şu anda işlem tarafından kullanılmakta olan fiziksel bellek ölçer. SQL Server'ın 64-bit sürümleri de ayırdığı arabellek havuzu bellek göstermek için aşağıdaki performans sayacını kullanın:
Performans nesnesi: SQL Server: Bellek Yöneticisi
Sayaç: Toplam Server Memory(KB)
Not SQL Server'ın 64-bit edition'ın örneğinin adlandırılmış bir örnek ise, performans nesnesinin adını aşağıdaki gibidir:
MSSQL$InstanceName: Bellek Yöneticisi
Çalışma kümesi sayaç değerinin toplam Server Memory(KB) sayaç değerini küçükse, arabellek havuzu bir parçası olan en az bellek çalışma kümesi SQL Server'dan kırpılmış.

Atadığınız sonra bellekteki kilit sayfaları kullanıcı hakkı ve SQL sunucu işlemi, arabellek havuzu bellek kaynak bildirim olayları, hala yanıtlayan SQL Server hizmetini yeniden başlatın ve dinamik olarak artar veya bu olaylara yanıt olarak azalır. Ancak, arabellek havuzu için performans sayaçları aşağıda bellekte kilitli bellek ayırmalarını göremezsiniz:
  • Özel Bayt sayacı ve Performans İzleyicisi'nde çalışma kümesi sayacı
  • Görev Yöneticisi işlemler sekmesinde Bellek kullanımı sütun
Bu sayfaları kilitli sonra bu performans sayaçları bu ayırmalar arabellek havuzu değil kullandığınızda SQL Server işlemi içinde bellek ayırmalarını temsil eder. SQL Server: bellek yöneticisi performans nesnesinin toplam Server Memory(KB) sayacı arabellek havuzu için ayrılan bellek doğru bir şekilde temsil eder.

"Bellekteki sayfaları Kilitle" kullanıcı hakkı SQL Server'ın 64-bit edition'ın bir örneği için atamadan önce dikkat edilmesi gerekenler

Bellekteki sayfaları kilitle kullanıcı atamadan önce dikkat edilecek diğer noktalar sağ olun. Bu kullanıcı hakkı yanlış yapılandırılmış sistemlerde atarsanız, sistem kararsız veya tüm sistemin performans düşüşü yaşarsınız. Ayrıca, olay günlüğünde olay kimliği 333 kaydedilebilir.

Bu sorunlar için Microsoft müşteri destek servis (CSS) başvurun, CSS mühendisleri, SQL Server hizmeti başlangıç hesabı olarak kullanılan kullanıcı hesabının bu kullanıcı hakkını iptal etmek isteyebilir. Bu adım gerekli yapılandırma ve sistemde çalışmakta olan diğer uygulamalar SQL Server için çeşitli seçenekler için CSS mühendislerinin kullanabileceğiniz önemli performans verilerini toplamak gerekli olabilir. CSS mühendisleri performans veri topladıktan sonra bellekteki kilit sayfaları kullanıcı SQL Server hizmetinin başlangıç hesabını sağ atayabilirsiniz.

Bellekteki kilit sayfaları kullanıcı hakkı atamadan önce çeşitli uygulama ve sistem üzerinde yüklü olan hizmetlerin bellek gereksinimlerini belirlemek için Performans İzleyicisi günlüğü Yakala emin olun. Bu uygulamalar SQL Server da dahil. Bellek gereksinimlerini belirlemek için aşağıdaki temel bilgileri toplar:
  • En fazla sunucu belleği seçeneği ve en az sunucu belleği seçeneği doğru ayarladığınızdan emin olun. Bu seçenekler yalnızca SQL sunucu işlemi, arabellek havuzu bellek gereksinimi yansıtır. Bu seçenekleri SQL Server işlemi içinde diğer bileşenler için ayrılan bellek dahil etmeyin. Bu bileşenler şunlardır:
    • SQL Server çalışan iş parçacıkları
    • SQL Server Bellek Yöneticisi'nin birden çok sayfalı ayırıcı
    • Çeşitli DLL'leri ve SQL Server işleminin yükler SQL Server işlem adres alanı içindeki bileşenler
    • Yedekleme ve geri yükleme işlemleri
  • DLL dosyaları ve bileşenleri çeşitli OLE DB sağlayıcıları, genişletilmiş saklı yordamlar, sp_OACreate saklı yordamı, bağlantılı sunucuları ve SQL Server CLR için kullanılan Microsoft COM nesnelerini içerir. Bu bileşenler için ayrılan bellek SQL Server işlem adres alanının altında nonbuffer havuzu bölge döner. İdeal olarak tüm SQL Server işleminin kullanabileceği bellek miktarını belirlemek için kullanılacak SQL Server işlemi istediğiniz toplam bellek arabellek havuzundan kullanmayın bileşenler için ayrılan bellek çıkarmak gerekir. Daha sonra geri kalan değer en fazla sunucu belleği seçeneği belirlemek için kullanabilirsiniz. En fazla sunucu belleği seçeneği ve en az sunucu belleği seçeneği belirlemeden önce SQL Server Books Online'da "bellek seçeneklerini el ile ayarlama" konusuna dikkatle gözden geçirmelidir.
  • Diğer uygulamalar ve Windows işletim sistemi bileşenleri bellek gereksinimini belirlemek. Diğer SQL Server bileşenleri, örneğin, SQL Server Aracısı SQL Server çoğaltma aracıları, SQL Server Reporting Services, SQL Server Analysis Services, SQL Server Integration Services ve SQL Server tam metin arama uygulamaları içerebilir. Yedekleme işlemlerini ve dosya kopyalama işlemleri gerçekleştiren uygulamalar büyük miktarda bellek kullanabilir. Dosya GÇ üreten işlemleri toplu kopyalama ve anlık görüntü aracısı gibi düşünün. Değeri en fazla sunucu belleği seçeneği ve en az sunucu belleği seçeneği belirlemek, bu uygulamaların bellek gereksinimi göz önüne almanız gerekir. Belirli bir işlem için bellek gereksinimi belirlemek için özel bayt sayacı ve her işlem için işlem nesnesi altında çalışma kümesi sayacı kullanabilirsiniz.
  • Varsayılan olarak, bellekteki kilit sayfaları kullanıcı hakkı zaten yerleşik yerel sistem hesabı olarak atanmıştır. Daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
    http://blogs.msdn.com/psssql/archive/2007/10/18/do-i-have-to-Assign-the-Lock-Privilege-for-Local-System.aspx
  • Bir Windows kullanıcı hesabına genel olarak etki alanındaki tüm SQL Server işlemleri için kullanırsanız, bir Grup İlkesi yapılandırması kullanılarak atanan kullanıcı haklarını belirleyin. 32-bit SQL Server işleminin başlangıç hesabı olarak bu hesabı kullanabilirsiniz. Ancak, bu hesabın Adres Pencereleme Uzantıları (AWE) özelliğini etkinleştirmek için bellekteki kilit sayfaları kullanıcı hakkını gerektirir. Daha fazla bilgi için SQL Server Books Online'da "SQL Server için en fazla bellek miktarını sağlama" konusuna bakın.
  • En fazla sunucu belleği seçeneği ve en az sunucu belleği seçeneği birden çok SQL Server örneği için yapılandırmadan önce SQL Server'ın her örneği için bellek gereksinimleri nonbuffer havuzunun göz önünde bulundurun. Ardından, SQL Server'ın her örneği için bu seçenekleri yapılandırın.
İdeal olarak, en yüksek yükleri sırasında bu temel bilgileri toplar. Bu nedenle, yükü desteklemek için çeşitli uygulamaları ve bileşenleri için bellek gereksinimleri belirleyebilirsiniz. Etkinlikler ve sistem üzerinde çalışan uygulamalara bağlı olarak başka bir sisteme bir sistemden bellek gereksinimleri değişir.

SQL Server zil sesi arabellekleri bilgileri disk belleği oluştuğunda, bellek koşulları belirlemek için nasıl kullanılacağını

SQL Server zil sesi arabellekleri bilgileri disk belleği oluştuğunda, sunucu üzerindeki bellek koşulları belirlemek için kullanabilirsiniz. Bu bilgileri edinmek için aşağıdaki komut dosyası gibi bir komut dosyası kullanabilirsiniz.
SELECT CONVERT (varchar(30), GETDATE(), 121) as runtime,
DATEADD (ms, -1 * (sys.ms_ticks - a.[Record Time]), GETDATE()) AS Notification_time,  
 a.* , sys.ms_ticks AS [Current Time]
 FROM 
 (SELECT x.value('(//Record/ResourceMonitor/Notification)[1]', 'varchar(30)') AS [Notification_type], 
 x.value('(//Record/MemoryRecord/MemoryUtilization)[1]', 'bigint') AS [MemoryUtilization %], 
 x.value('(//Record/MemoryRecord/TotalPhysicalMemory)[1]', 'bigint') AS [TotalPhysicalMemory_KB], 
 x.value('(//Record/MemoryRecord/AvailablePhysicalMemory)[1]', 'bigint') AS [AvailablePhysicalMemory_KB], 
 x.value('(//Record/MemoryRecord/TotalPageFile)[1]', 'bigint') AS [TotalPageFile_KB], 
 x.value('(//Record/MemoryRecord/AvailablePageFile)[1]', 'bigint') AS [AvailablePageFile_KB], 
 x.value('(//Record/MemoryRecord/TotalVirtualAddressSpace)[1]', 'bigint') AS [TotalVirtualAddressSpace_KB], 
 x.value('(//Record/MemoryRecord/AvailableVirtualAddressSpace)[1]', 'bigint') AS [AvailableVirtualAddressSpace_KB], 
 x.value('(//Record/MemoryNode/@id)[1]', 'bigint') AS [Node Id], 
 x.value('(//Record/MemoryNode/ReservedMemory)[1]', 'bigint') AS [SQL_ReservedMemory_KB], 
 x.value('(//Record/MemoryNode/CommittedMemory)[1]', 'bigint') AS [SQL_CommittedMemory_KB], 
 x.value('(//Record/@id)[1]', 'bigint') AS [Record Id], 
 x.value('(//Record/@type)[1]', 'varchar(30)') AS [Type], 
 x.value('(//Record/ResourceMonitor/Indicators)[1]', 'bigint') AS [Indicators], 
 x.value('(//Record/@time)[1]', 'bigint') AS [Record Time]
 FROM (SELECT CAST (record as xml) FROM sys.dm_os_ring_buffers 
 WHERE ring_buffer_type = 'RING_BUFFER_RESOURCE_MONITOR') AS R(x)) a 
CROSS JOIN sys.dm_os_sys_info sys
ORDER BY a.[Record Time] ASC

Not Bu sorgu, hem SQL Server 2005 ve SQL Server 2008 için geçerlidir.

Sistem yetersiz bellek koşulları karşılaşıyor olup olmadığını anlamak için dinamik yönetim görünümü sys.dm_os_process_memory sağlanan bilgileri sorgulayabilir. Daha fazla bilgi için aşağıdaki MSDN Web sitesindeki SQL Server 2008 Books Online'da bkz:
http://msdn.microsoft.com/en-us/library/bb510747.aspx
SQL Server 2008 R2 en iyi yöntem Çözümleyicisi (SQL Server 2008 R2 BPA) içinde çalışma kümesi kırpma SQL Server işleminin sonucu durumları tespit etmek için birden çok kural sağlar. SQL Server 2008 R2 BPA SQL Server 2008 ve SQL Server 2008 R2 destekler.

Bu tabloyu kapaBu tabloyu aç
Kural yazılımKuralı başlıkKural açıklamasıÜrün sürümleri karşı kuralın değerlendirilmesi
SQL Server 2008 R2 en iyi yöntem Çözümleyicisi (SQL Server 2008 R2 BPA)
SQL Server bellek ayarları hatalı olabilir


BPA aracını çalıştırın ve "Database Engine - SQL Server bellek ayarları yanlıştır" uyarısını alıyorsunuz "önemli noktalar, önce bu makalede SQL Server'ın 64-bit edition'ın bir örneği için sağ 'Bellekteki sayfaları kilitle' kullanıcı atamak" bölümündeki önerileri izleyin ve SQL Server'ın bu örneğinin en fazla sunucu belleği ayarını denetlemek gerekebilir.SQL Server 2008
SQL Server 2008 R2


SQL Server 2008 R2 en iyi yöntem Çözümleyicisi (SQL Server 2008 R2 BPA)İşletim sistemi dosyaları ve sürücüleri güncelleştirme gerekli çalışma kümesi kırpmaBPA aracını çalıştırın ve hatanın oluştuğu ise "Database Engine - işletim sistemi dosyaları ve sürücüleri güncelleştirme için çalışma kümesi kırpma, gerekir", bu makalenin "Çözüm" bölümünde açıklanan tüm düzeltmeleri gözden geçirmek ve bunları uygulamak gerekir.
SQL Server 2008
SQL Server 2008 R2

SQL Server 2008 R2 en iyi yöntem Çözümleyicisi (SQL Server 2008 R2 BPA)SQL Server bellek önemli kısmını aşımına havuzda
BPA aracını çalıştırın ve "Database Engine - SQL Server, bellek havuzda önemli kısmını" hata yaşıyorsanız, bu makalenin "Çözüm" ve "Geçici çözüm" bölümünde gözden geçirin ve gerekli eylemde gerekebilir.
SQL Server 2008
SQL Server 2008 R2


Windows Server 2008 ve Windows Server 2008 R2'deki gelişmeler


Windows Server 2008 ve Windows Server 2008 R2 bitişik bellek ayırma mekanizması artırır. Bu geliştirme, Windows Server 2008 ve Windows Server 2008 R2'in yeni bellek isteği geldiğinde belirli bir ölçüde uygulamaların çalışma kümesi doldurarak etkilerini azaltmak sağlar.

Microsoft teknik incelemesi "İlerler, bellek yönetimi, Windows" den geliştirmeleri açıklaması aşağıdadır:

Windows Server 2008'de, fiziksel olarak bitişik bellek ayrılması büyük ölçüde geliştirilmiştir. Bitişik bellek için bellek yöneticisi şimdi dinamik sayfalar, genellikle çalışma kümesi kırpma veya g/ç işlemlerini gerçekleştirme değiştirdiğinden başarılı olması çok daha büyük bir olasılıkla isteklerdir. Buna ek olarak, birçok daha fazla türde sayfalar — çekirdek yığını ve diğerlerinin yanı sıra dosya sistemi meta veri sayfaları gibi — şimdi değiştirme için aday olan. Sonuç olarak, herhangi bir zamanda daha fazla bitişik bellek doldurmuştur. Ayrıca, bu tür tahsisat edinme maliyetini önemli ölçüde azalır.
"İlerler, bellek yönetimi, Windows" teknik incelemesi görüntülemek için aşağıdaki Microsoft Website ziyaret edin:
http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4BAE-9fde-d599bac8184a/MemMgt.docx
Daha fazla bilgi için aşağıdaki Microsoft Web sitelerini ziyaret edin:
http://blogs.msdn.com/psssql/archive/2008/03/03/SQL-Server-Working-Set-Trim-problems-Consider.aspx
http://support.microsoft.com/kb/2001745
Not Windows Server 2008 tabanlı bir bilgisayarda SQL Server Service Pack 2 (SP2) veya sonraki bir SQL Server hizmet paketini yüklemeniz gerekir.

Bu makalede açıklanan üçüncü taraf ürünleri Microsoft'tan bağımsız şirketler tarafından üretilmektedir. Microsoft, bu ürünlerin performansı veya güvenilirliği hakkında zımni veya başka türlü hiçbir garanti vermez.

Özellikler

Makale numarası: 918483 - Last Review: 20 Haziran 2014 Cuma - Gözden geçirme: 2.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
Anahtar Kelimeler: 
kbsqlsetup kbsql2005engine kbexpertiseadvanced kbinfo kbmt KB918483 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 918483

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