Wie beschränke ich die Speichernutzung von MS SQL Server?

22

Ich habe gehört, dass MS SQL Server so viel RAM wie möglich beansprucht, um Ergebnisse zwischenzuspeichern. Nun, es gibt nicht genug Verhandlungsraum für den RAM unseres kleinen Servers.

Wie ändere ich die Einstellungen, um den verfügbaren Arbeitsspeicher zu begrenzen?

MS SQL Server unter Windows Server 2008.

FlavorScape
quelle
3
@DavidSchwartz: Ich denke, Sie werden feststellen, dass viele MS SQL-Datenbankadministratoren die Menge an RAM begrenzen, die der DBE verwenden kann. Dies wirkt sich häufig auf die Leistung der anderen auf dem System ausgeführten Komponenten aus.
Wfaulk
1
@wfault: " Standardmäßig kann SQL Server die Speicheranforderungen dynamisch basierend auf den verfügbaren Systemressourcen ändern. " Viele Leute mögen es, mit Dingen herumzuspielen, nur um mit ihnen herumzuspielen, aber was sie tatsächlich tun, ist, die Fähigkeit des Servers zu hemmen sich auf wechselnde Belastung einstellen. Wenn es nicht kaputt ist, können Sie es nicht reparieren. Dies wird am häufigsten von Menschen gemacht, die gerne viel freien Speicher sehen, um sich wohl zu fühlen, aber tatsächlich ist jeder freie Speicher auch ungenutzt - das heißt verschwendet.
David Schwartz
4
@DavidSchwartz: Ich verstehe, woher Sie kommen, und in jeder anderen Situation würde ich Ihnen zustimmen, aber MS SQL scheint dies nicht besonders gut zu optimieren, IME.
wfaulk
1
Es war tatsächlich kaputt, da es den Server zum Stillstand bringen würde ...
FlavorScape
1
Ich stimme diesem Typen zu
Daniel Dolz

Antworten:

24

Von So konfigurieren Sie Speicheroptionen mithilfe von SQL Server Management Studio :

Verwenden Sie die beiden Serverspeicheroptionen Min. Serverspeicher und Max. Serverspeicher , um die vom SQL Server-Speichermanager verwaltete Speicherkapazität (in Megabyte) für eine Instanz von SQL Server neu zu konfigurieren.

  1. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf einen Server und wählen Sie Eigenschaften .
  2. Klicken Sie auf den Speicherknoten .
  3. Unter Server - Speicher - Optionen , geben Sie den Betrag, den Sie für wollen Mindestserverspeicher und Maximum Serverspeicher .

Sie können dies auch in T-SQL mit den folgenden Befehlen tun (Beispiel):

exec sp_configure 'max server memory', 1024
reconfigure
wfaulk
quelle
2

So schränken Sie den Speicherverbrauch von MS SQL Service ein:

Stellen Sie in SQL Server Management Studio "max server memory" ein

  1. Jetzt setzen wir die Option "max server memory", um die Speichernutzung durch SQL Server zu begrenzen. Klicken Sie dazu mit der rechten Maustaste auf unsere Instanz und wählen Sie "Eigenschaften".

  2. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf einen Server und wählen Sie Eigenschaften. Bildbeschreibung hier eingeben

  3. Klicken Sie auf den Speicherknoten wie unten gezeigt:

Bildbeschreibung hier eingeben 4. Geben Sie unter Serverspeicheroptionen die Menge ein, die Sie für den maximalen Serverspeicher benötigen. Wie Sie unten sehen können, richten wir den maximalen Serverspeicher auf 4096 MB (dh 4 GB) ein.

Bildbeschreibung hier eingeben

So schränken Sie den Speicherverbrauch von MS SQL Service ein:

Wir können "max server memory" auch mit einem T-SQL-Skript einstellen:

Im folgenden Beispiel wird die Option für den maximalen Serverspeicher auf 4 GB festgelegt:

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

Kundan Dasange
quelle