Düzeltme: SQL Server işleminin sanal adres alanı kullanılabilir bellek çok düşük olduğunda, bellek yetersiz hatası
Tüm ÜrünlerMicrosoft SQL Server 2012 EnterpriseMicrosoft SQL Server 2012 DeveloperMicrosoft SQL Server 2012 StandardMicrosoft SQL Server 2014 StandardMicrosoft SQL Server 2014 DeveloperMicrosoft SQL Server 2014 WebMicrosoft SQL Server 2014 EnterpriseMicrosoft SQL Server 2012 Service Pack 2Microsoft SQL Server 2014 Service Pack 1
Bu güncelleştirmeyi uyguladıktan sonra eklemek zorunda izleme bayrağı - T8075 bu değişiklik yapabilmek için bir başlangıç parametresi olarak.
Microsoft SQL Server 2014 veya Microsoft SQL Server 2012, bir 64-bit sürümünde bir sorgu çalıştırdığınızda, SQL Server hata günlüğünde aşağıdakine benzer bir bellek yetersiz hatası iletisi alırsınız:
Başarısız ayırma sayfaları: 513 FAIL_PAGE_ALLOCATION
Sorguları yürütme bitiş ve SOS_MEMORY_TOPLEVELBLOCKALLOCATOR bekler karşılaşma için uzun zaman alıyor.
Aşağıdaki bilgi noktaları incelediğinizde, çok düşük kullanılabilir sanal adres alanı olduğunu göreceksiniz:
DBCC MEMORYSTATUS - bölüm işlem/sistem sayar - kullanılabilir sanal bellek
DMV: sys.dm_os_process_memory - sütun virtual_address_space_available_kb
Bu değerler yaklaşık 8 terabayt (TB) bir x64 üzerinde kapalı başlatmak işlemek ve climb ve birkaç gigabayt (GB) ulaşmak devam edin.
Kullanılabilir sanal adres alanı yetersiz olduğu aşamada olduğunuzda, sorguları, bellek ayırma CMEMTHREAD bekleme türünü de karşılaşabilirsiniz gerçekleştirmeyi deneyin.
Aşağıdaki veri noktalarını zamanla artmaya devam edecektir:
DMV: sys.dm_os_process_memory ve sys.dm_os_memory_nodes - sütun virtual_address_space_reserved_kb
DBCC MEMORYSTATUS - bellek yöneticisi bölüm - VM ayrılmış
Bu değerler genellikle neredeyse 8 TB'a kadar "en fazla sunucu belleği" değerinin katları olarak artar.
Ne zaman SQL Server işleminin ulaştı durumu burada toplam sunucu belleği = hedef sunucu belleği en fazla sunucu belleği = yeni ayırmaları geçici olarak başarılı olması için birden fazla 8 KB sayfa isteği bildirmek için SQL Server Bellek Yöneticisi'nde ilkeleri vardır. Böyle bir koşul altında tahsisat yinelenen desen bellek bloklarının parçalanma ve sanal adres alanı tüketimi neden olabilir. Birçok kez bu işlemi yineler, SQL Server sanal adres alanı bitti ve daha önce bahsedilen belirtilerin fark edeceksiniz.
Bu sorunu çözmek için düzeltmeyi şu konumdan yükleyin DÜZELTME: SQL Server 2014 bağlantılı bir sunucu üzerinde başka bir saklı yordamınız çağırdığında hata saklı yordamı .
SQL Server 2014 Service Pack bu düzeltmeyi uygulamak için 1 için toplu güncelleştirme 3 yüklü olmalıdır.
2014 SQL Server için toplu güncelleştirme 10
SQL Server 2012 SP2 için toplu güncelleştirme 8
Bu düzeltme, bellek yetersiz hem de sürekli azaltma karşılaşabileceğiniz kullanılabilir sanal adres alanının engeller.
Windows 2012 R2 sanal adres alanı 128 TB büyüklüğünde büyümesine izin verir. Bu nedenle, bu sorun Windows 2012 R2 ortamlarda göremeyebilirsiniz. Daha fazla bilgi için aşağıdaki Windows Geliştirme Merkezi konusuna bakın:
Windows ve Windows Server sürümleri için bellek sınırları
Hatta, düzeltmeyi uyguladıktan sonra sanal adres alanında sürekli büyüme görürseniz, hangi sorgular veya işlemler büyük boyutta bellek Page_allocated genişletilmiş olay kullanarak isteyen belirleyebilirsiniz. Bir örnek komut dosyası şöyle görünür:
Bunlar normal günlüğü yedekleri ve sık sık ortaya dizin bakım işlemleri uygulanır.
Makale No: 3074434 - Son İnceleme: 24 Şub 2017 - Düzeltme: 1