KB4347055 - DÜZELTME: Linux Docker kapsayıcısında SQL Server 2017 çalıştırdığınızda yetersiz bellek hatası

Uygulandığı Öğe
SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core

Belirtiler

Bir LinuxLinux Docker kapsayıcısı içinde bir Microsoft SQL ServerSQL Server 2017 örneği çalıştırdığınızda, yetersiz bellek hata iletisi alabilirsiniz.

Neden

Linux üzerinde SQL ServerLinux üzerinde SQL Server memory.memorylimitmb yapılandırması etkin olmadığında varsayılan olarak toplam fiziksel belleğin %80'i kadar bir yumuşak sınır kullanır; Docker kapsayıcıları için SQL, kendisini docker kapsayıcısına ayrılan %80 bellekle sınırlamak yerine toplam konak belleğinin %80'ini dikkate alıyordu. Bu yanlış bellek sınırı, SQL Server kapsayıcı için mevcut olandan daha fazla bellek tüketmeye çalışmasına olanak tanır ve OOM Killer tarafından sonlandırılmaya aday olabilir.

Notlar Docker görüntüsünü oluşturduğunuzda, Docker belleğini sınırlamak için –m belirtmeniz gerekir. Daha fazla bilgi için aşağıdaki makaleye bakın.

Docker oluşturma

Çözüm

Aşağıdaki SQL Server güncelleştirmesinde bu sorun için bir düzeltme bulunmaktadır:

Cumulative Update 10 for SQL ServerSQL Server 2017

Notlarmemory.memorylimitmb yapılandırması yapılandırılmamışsa, bu Düzeltme SQL Server kendisini kapsayıcıya ayrılan belleğin %80'i gibi bir geçici sınırla sınırlamasına olanak tanır.

SQL Server derlemeleri hakkında

SQL Server için her yeni derleme, bir önceki derlemede yer alan tüm düzeltmeleri ve güvenlik düzeltmelerini içerir. SQL Server sürümünüz için en son derlemeyi yüklemenizi öneririz:

SQL Server 2017 için en son derleme

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ığı standart terminoloji hakkında bilgi edinin.