Serverkonfiguration: Kostenlimit für Abfragekontrolle

Gilt für: SQL Server

In diesem Artikel wird beschrieben, wie Sie die query governor cost limit Serverkonfigurationsoption in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL konfigurieren. Die Option zur Kostenbeschränkung legt eine Obergrenze für die geschätzten zulässigen Kosten für die Ausführung einer bestimmten Abfrage fest. Abfragekosten sind eine abstrakte Zahl, die vom Abfrageoptimierer basierend auf geschätzten Ausführungsanforderungen wie CPU-Zeit, Arbeitsspeicher und Datenträger-E/A bestimmt wird. Sie beziehen sich auf eine geschätzte Zeit in Sekunden, die für das Ausführen einer Abfrage bei einer bestimmten Hardwarekonfiguration benötigt wird. Diese abstrakte Abbildung entspricht nicht der Zeit, die zum Abschließen einer Abfrage für die ausgeführte Instanz erforderlich ist. Sie sollte als relatives Measure behandelt werden. Der Standardwert für diese Option ist 0, wodurch die Abfragehauptwertung deaktiviert wird. Durch Festlegen des Werts können 0 alle Abfragen ohne zeitliche Einschränkung ausgeführt werden. Wenn Sie einen nicht negativen Wert ungleich Null angeben, lässt die Abfragekontrolle die Ausführung von Abfragen nicht zu, deren geschätzte Kosten über diesem Wert liegen.

Empfehlungen

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

Wenn Sie den Wert der Option Kostenbeschränkung der Abfragekontrolle jeweils für eine Verbindung ändern möchten, können Sie dazu die SET QUERY_GOVERNOR_COST_LIMIT -Anweisung verwenden.

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 die Seite "Verbindungen" aus.

  3. Aktivieren bzw. deaktivieren Sie das Kontrollkästchen Abfragekontrolle verwenden, um Abfragen mit langer Ausführungszeit zu verhindern .

    Wenn Sie dieses Kontrollkästchen aktivieren, geben Sie im Feld unten einen positiven Wert ein. Dieser wird von der Abfragekontrolle verwendet, um das Ausführen von Abfragen zu verhindern, deren geschätzte Kosten diesen Wert überschreiten.

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 Sie sp_configure verwenden, um den Wert der query governor cost limit Option auf eine geschätzte Kostenobergrenze festzulegen.120

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'query governor cost limit', 120;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

Weitere Informationen finden Sie unter Serverkonfigurationsoptionen.

Nachverfolgung: Nachdem Sie die Kostenlimitoption für die Abfragekontrolle konfiguriert haben

Die Einstellung tritt ohne Neustarten des Servers sofort in Kraft.