Freigeben über


Serverkonfiguration: Abfragewarte warten

Gilt für: SQL Server

In diesem Artikel wird beschrieben, wie Sie die Abfragewarteserverkonfigurationsoption in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL konfigurieren. Speicherintensive Abfragen (z. B. solche, die Sortierung und Hashing umfassen) werden in die Warteschlange gestellt, wenn nicht genügend Arbeitsspeicher zum Ausführen der Abfrage verfügbar ist. Die Abfragewarteoption gibt die Zeit in Sekunden (von 0 bis 2.147.483.647) an, dass eine Abfrage auf Ressourcen wartet, bevor ein Timeout erfolgt. Der Standardwert für diese Option ist -1. Das bedeutet, der Timeout wird als das 25-fache der geschätzten Abfragekosten berechnet.

Wichtig

Eine Transaktion, die die wartende Abfrage enthält, kann Sperren aufrechterhalten, während die Abfrage auf freien Arbeitsspeicher wartet. In seltenen Situationen ist es möglich, dass ein nicht erkennbarer Deadlock auftritt. Das Reduzieren der Abfragewartezeit verringert die Wahrscheinlichkeit solcher Deadlocks. Schließlich wird die wartende Abfrage beendet, und die Transaktionssperren werden aufgehoben. Wenn Sie jedoch die maximale Wartezeit erhöhen, kann die Zeit für die Beendigung der Abfrage erhöht werden. Änderungen an dieser Option werden nicht empfohlen.

Empfehlungen

Diese Option ist eine erweiterte Option und sollte ausschließlich von einem erfahrenen Datenbankadministrator oder einem zertifizierten SQL Server -Experten geändert werden.

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 Erweitert aus.

  3. Geben Sie unter Parallelitätden gewünschten Wert für die Option Abfragewartezeit ein.

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 query wait auf 7500 Sekunden festzulegen.

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'query wait', 7500;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

Weitere Informationen finden Sie unter Serverkonfigurationsoptionen.

Nachverfolgung: Nachdem Sie die Abfragewarteoption konfiguriert haben

Die Einstellung tritt ohne Neustarten des Servers sofort in Kraft.