Freigeben über


Serverkonfiguration: min memory per query

Gilt für:SQL Server

In diesem Artikel wird beschrieben, wie die Serverkonfigurationsoption min memory per query in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL konfiguriert wird. Die Option min memory per query gibt die Mindestmenge des Arbeitsspeichers (in Kilobytes) an, der für die Ausführung einer Abfrage zugeordnet wird. Dies ist auch als minimale Arbeitsspeicherzuweisung bekannt. Wenn min memory per query beispielsweise auf 2.048 KB festgelegt wird, ist sichergestellt, dass der Abfrage mindestens so viel Gesamtarbeitsspeicher zugeordnet wird. Der Standardwert ist 1.024 KB. 512 KB ist der Minimalwert, und 2.147.483.647 KB (2 GB) ist der Maximalwert.

Begrenzungen

Der unter „Min. Arbeitsspeicher pro Abfrage“ angegebene Wert hat Vorrang vor der Option Speicher für Indexerstellung. Wenn Sie beide Optionen ändern und der Wert von „index create memory“ (Speicher für Indexerstellung) den Wert von „min memory per query“ (Min. Arbeitsspeicher pro Abfrage) unterschreitet, werden die Werte zwar festgelegt, es wird jedoch eine Warnmeldung ausgegeben. Beim Ausführen der Abfrage wird eine ähnliche Warnung ausgegeben.

Empfehlungen

Diese Option ist eine erweiterte Option und sollte nur von einem erfahrenen Datenbankexperten geändert werden.

Der Abfrageprozessor von SQL Server versucht, den optimalen Umfang an Speicher zu bestimmen, der von einer Abfrage belegt werden soll. Mit der Option Min. Arbeitsspeicher pro Abfrage kann der Administrator den Umfang an Speicher angeben, der für eine einzelne Abfrage mindestens zur Verfügung gestellt wird. Abfragen erhalten im Allgemeinen mehr Speicher als hier angegeben, wenn Hash- und Sortiervorgänge für umfangreiche Datenmengen ausgeführt werden. Durch die Erhöhung des Werts für den Mindestarbeitsspeicher pro Abfrage kann es bei einigen Abfragen mit geringem bis mittlerem Umfang zur Leistungssteigerung, jedoch auch zu stärkerem Wettbewerb um Speicherressourcen kommen. Die Option „Min. Arbeitsspeicher pro Abfrage“ schließt den für Sortiervorgänge zugeordneten Arbeitsspeicher ein.

Legen Sie die Serverkonfigurationsoption für den Mindestarbeitsspeicher pro Abfrage nicht zu hoch fest, insbesondere auf sehr ausgelasteten Systemen, da die Abfrage warten1 muss, bis die minimalen Arbeitsspeicheranforderungen erfüllt werden können oder bis der in der Serverkonfigurationsoption für die Abfragewartezeit angegebene Wert erreicht ist. Wenn zum Ausführen der Abfrage mehr Arbeitsspeicher als der angegebene Minimalwert vorhanden ist, darf die Abfrage den zusätzlichen Arbeitsspeicher nutzen, falls der Arbeitsspeicher von der Abfrage effizient verwendet werden kann.

1 In diesem Szenario ist der Wartetyp in der Regel RESOURCE_SEMAPHORE. Weitere Informationen finden Sie unter sys.dm_os_wait_stats.

Berechtigungen

Die Ausführungsberechtigungen für sp_configure ohne Parameter oder nur mit dem ersten Parameter werden standardmäßig allen Benutzern erteilt. Um sp_configure mit beiden Parametern auszuführen und eine Konfigurationsoption zu ändern oder die RECONFIGURE-Anweisung auszuführen, benötigt ein Benutzer die ALTER SETTINGS-Berechtigung auf Serverebene. Die ALTER SETTINGS-Berechtigung ist implizit in den festen Serverrollen sysadmin und serveradmin enthalten.

Verwenden von SQL Server Management Studio

  1. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf einen Server, und wählen Sie Eigenschaften aus.

  2. Wählen Sie den Knoten Arbeitsspeicher aus.

  3. Geben Sie in das Feld Minimaler Arbeitsspeicher pro Abfrage die Mindestmenge an Arbeitsspeicher (in KB) ein, die für das Ausführen einer Abfrage zugeordnet werden soll.

Verwenden von Transact-SQL

  1. Stellen Sie eine Verbindung mit dem Datenbank-Engineher.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen. In diesem Beispiel wird gezeigt, wie sp_configure verwendet wird, um den Wert der Option min memory per query auf 3500 KB festzulegen.

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'min memory per query', 3500;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

Nachverfolgung: Nach dem Konfigurieren der Option „min memory per query“

Die Einstellung tritt ohne Neustarten des Servers sofort in Kraft.