Serverkonfiguration: Min. Arbeitsspeicher pro Abfrage

Gilt für: SQL Server

In diesem Artikel wird beschrieben, wie Sie die min memory per query Serverkonfigurationsoption in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL konfigurieren. Die min memory per query Option gibt die mindeste Speichermenge (in Kilobyte) an, die für die Ausführung einer Abfrage zugewiesen werden soll. Dies ist auch als minimale Arbeitsspeicherzuweisung bekannt. Wenn min memory per query sie beispielsweise auf 2.048 KB festgelegt ist, wird die Abfrage garantiert mindestens so viel Gesamtspeicher erhalten. 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 ausschließlich von einem erfahrenen Datenbankadministrator oder einem zertifizierten SQL Server -Experten 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. Das Erhöhen des Werts von min. Arbeitsspeicher pro Abfrage kann die Leistung einiger kleiner bis mittlerer Abfragen verbessern, dies könnte jedoch zu einem erhöhten Wettbewerb für Speicherressourcen führen. Die Option „Min. Arbeitsspeicher pro Abfrage“ schließt den für Sortiervorgänge zugeordneten Arbeitsspeicher ein.

Legen Sie die Min. Arbeitsspeicher pro Abfrageserverkonfigurationsoption nicht zu hoch fest, insbesondere bei sehr ausgelasteten Systemen, da die Abfrage 1 wartenmuss, bis der angeforderte Mindestspeicher gesichert werden kann, oder bis der in der Abfrage-Wait-Serverkonfigurationsoption angegebene Wert überschritten wird. Wenn mehr Arbeitsspeicher verfügbar ist als der angegebene Mindestwert, der für die Ausführung der Abfrage erforderlich ist, kann die Abfrage den zusätzlichen Arbeitsspeicher nutzen, wenn der Arbeitsspeicher effektiv von der Abfrage 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 Speicherknoten aus.

  3. Geben Sie im Feld "Mindestspeicher pro Abfrage " die Mindestmenge an Arbeitsspeicher (in Kilobyte) ein, die für die Ausführung einer Abfrage zugewiesen 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: Nachdem Sie die Min. Arbeitsspeicher pro Abfrageoption konfiguriert haben

Die Einstellung tritt ohne Neustarten des Servers sofort in Kraft.