KB4077105 - DÜZELTME: SQL Server işleminin sanal adres alanı çok düşük olduğunda yetersiz bellek hatası SQL Server

Uygulandığı Öğe
SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Belirtiler

Windows işletim sisteminin Windows Server 2012 veya daha önceki bir sürümünü çalıştıran bir bilgisayara Microsoft SQL Server 2014, 2016 veya 2017'nin 64 bit sürümünü yüklediğinizi varsayalım. SQL Server tüm kullanıcı modu sanal adres alanını kullandığında, SQL Server hata günlüğünde bellek yetersiz hata iletisini alabilirsiniz. Ayrıca, sorguların yürütülmesi uzun zaman alır ve SOS_MEMORY_TOPLEVELBLOCKALLOCATOR bekleme süresi oluşur.

Aşağıdaki bilgi noktalarını incelediğinizde, çok düşük kullanılabilir sanal adres alanı olduğunu görürsünüz:

  • DBCC MEMORYSTATUS - İşlem/Sistem Sayıları bölümü - Kullanılabilir Sanal Bellek
  • DMV: sys.dm_os_process_memory - sütun virtual_address_space_available_kb

Bu değerler bir x64 işleminde yaklaşık 8 terabayt (TB) ile başlar ve tırmanmaya devam ederek birkaç gigabayta (GB) ulaşır.

Kullanılabilir sanal adres alanının çok düşük olduğu aşamadayken, bellek ayırma gerçekleştirmeye çalışan sorgular da bir CMEMTHREAD bekleme türüyle karşılaşabilir.

Aşağıdaki veri noktaları 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 "maksimum sunucu belleği" değerinin katları olarak neredeyse 8 TB'a kadar yükselir.

Notlar İlgili sorun KB 3074434'te de açıklanmıştır.

Çözüm

Bu güncelleştirme, aşağıdaki SQL Server toplu güncelleştirmelerine dahildir:

SQL Server 2017 için Toplu Güncelleştirme 4

SQL Server 2016 SP1 için toplu güncelleştirme 8

SQL Server 2014 Service Pack 2 için Toplu Güncelleştirme 10

SQL Server toplu güncelleştirmeleri hakkında:

SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmeye dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. SQL Server için en son toplu güncelleştirmelere göz atın:

En son toplu güncelleştirme SQL ServerSQL Server 2017

SQL Server 2016 için en son toplu güncelleştirme

SQL Server 2014 için en son toplu güncelleştirme

Notlar Bu güncelleştirmeyi uyguladıktan sonra, bu değişikliği etkinleştirmek için izleme bayrağı 8075'i başlangıç parametresi olarak eklemeniz gerekir.

Durum

Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.

Başvurular

Microsoft'un yazılım güncelleştirmelerini tanımlamak için kullandığı terminoloji hakkında bilgi edinin.