MS SQL Server belleği kullanımını nasıl sınırlarım?


22

MS SQL Server'ın sonuçları önbelleğe almak için olabildiğince RAM harcadığını duydum. Küçük sunucumuzun RAM'i için yeterince pazarlık odasını bırakmıyor.

Kullanabileceği RAM miktarını sınırlandırmak için ayarları nasıl değiştiririm?

Windows Server 2008 üzerinde çalışan MS SQL Server.


3
@DavidSchwartz: Çok fazla MS SQL DBA'sının DBE'nin kullanabileceği RAM miktarını sınırlayacağını göreceksiniz. Genellikle sistemde çalışan herhangi bir şey üzerinde performans etkisi yaratır.
wfaulk

1
@wfault: " Varsayılan olarak, SQL Server kullanılabilir sistem kaynaklarına dayanarak bellek gereksinimlerini dinamik olarak değiştirebilir. " Pek çok kişi, yalnızca kendileriyle uğraşmak uğruna işleri karıştırmaktan hoşlanıyor, ancak aslında yaptıkları sunucunun kabiliyetini engelliyor. kendisini değişen yüke ayarlamak için. Kırılmadıysa, düzeltemezsiniz. Bu genellikle kendilerini iyi hissettirmek için çok fazla boş hafıza görmek isteyenler tarafından yapılır, ancak aslında, boş olan herhangi bir hafıza da kullanılmaz - yani boşa harcanır.
David Schwartz

4
@DavidSchwartz: Nereden geldiğini anlıyorum ve başka bir durumda da seninle aynı fikirdeyim, ama MS SQL bunu gerçekten çok iyi optimize etmiyor gibi görünüyor, IME.
wfaulk

1
Aslında, kırıldı, çünkü sunucuyu durdurmak için ...
FlavorScape

Yanıtlar:


24

Gönderen Nasıl SQL Server Management Studio'yu kullanarak yapılandırmak bellek seçeneklerine :

SQL Server Bellek Yöneticisi tarafından yönetilen bellek miktarını (megabayt olarak) yeniden yapılandırmak için iki sunucu belleği seçeneğini, minimum sunucu belleğini ve maksimum sunucu belleğini kullanın.

  1. Nesne Gezgini'nde, bir sunucuya sağ tıklayın ve Özellikler'i seçin .
  2. Bellek düğümünü tıklayın .
  3. Sunucu Belleği Seçenekleri altında , Minimum sunucu belleği ve Maksimum sunucu belleği için istediğiniz miktarı girin .

Ayrıca aşağıdaki komutları kullanarak T-SQL'de de yapabilirsiniz:

exec sp_configure 'max server memory', 1024
reconfigure


2

MS SQL Service bellek tüketimini kısıtlamak için:

SQL Server Management Studio'da "max sunucu belleği" ayarla

  1. Şimdi "max server memory" seçeneğini ayarlayacağız ve SQL Server tarafından hafıza kullanımını sınırlayacağız. Bunu örneğimize sağ tıklayıp "Özellikler" i seçerek yapabiliriz.

  2. Nesne Gezgini'nde, bir sunucuya sağ tıklayın ve Özellikler'i seçin. görüntü tanımını buraya girin

  3. Aşağıda gösterildiği gibi Bellek düğümünü tıklayın:

görüntü tanımını buraya girin 4. Sunucu Belleği Seçenekleri altında, Maksimum sunucu belleği için istediğiniz miktarı girin. Gördüğünüz gibi maksimum sunucu belleğini 4096 MB (4 GB) olarak ayarlıyoruz.

görüntü tanımını buraya girin

MS SQL Service bellek tüketimini kısıtlamak için:

Bir "T-SQL" betiği kullanarak da "maksimum sunucu belleği" ayarlayabiliriz:

Aşağıdaki örnek, maksimum sunucu belleği seçeneğini 4 GB olarak ayarlar:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096;
GO
RECONFIGURE;
GO

Ref: https://technet.microsoft.com/en-us/library/ms191144(v=sql.105).aspx

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.