• 03/02/2017
  • 3 Minuten zu lesen
    • m
    • M
    • J
    • r
    • M
    • +3

Gilt für: yesSQL Server (alle unterstützten Versionen)

In diesem Thema wird beschrieben, wie Sie die Serverkonfigurationsoption Kostenschwelle für Parallelität in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL konfigurieren. Die Option Kostenschwelle für Parallelität gibt den Schwellenwert an, bei dem SQL Server parallele Pläne für Abfragen erstellt und ausführt. SQL Server erstellt und führt einen parallelen Plan für eine Abfrage nur dann aus, wenn die geschätzten Kosten für die Ausführung eines seriellen Plans für dieselbe Abfrage höher sind als der in Kostenschwelle für Parallelität festgelegte Wert. Die Kosten beziehen sich auf die geschätzten Kosten, die für die Ausführung des seriellen Plans auf einer bestimmten Hardwarekonfiguration erforderlich sind, und stellen keine Zeiteinheit dar. Die Option Kostenschwelle für Parallelität kann auf einen beliebigen Wert zwischen 0 und 32767 gesetzt werden. Der Standardwert ist 5.

In diesem Thema

  • Bevor Sie beginnen:

    Einschränkungen und Einschränkungen

    Empfehlungen

    Sicherheit

  • Um die Kostenschwelle für die Option Parallelität zu konfigurieren, verwenden Sie:

    SQL Server Management Studio

    Transact-SQL

  • Follow Up: Nachdem Sie die Option Kostenschwelle für Parallelität konfiguriert haben

Bevor Sie beginnen

Einschränkungen und Beschränkungen

  • Die Kosten beziehen sich auf eine abstrahierte Kosteneinheit und nicht auf eine Einheit der geschätzten Zeit. Legen Sie den Kostenschwellenwert für Parallelität nur auf symmetrischen Multiprozessoren fest.

  • SQL Server ignoriert den Kostenschwellenwert für Parallelität unter den folgenden Bedingungen:

    • Ihr Computer hat nur einen logischen Prozessor.

    • Aufgrund der Konfigurationsoption Affinitätsmaske steht SQL Server nur ein einziger logischer Prozessor zur Verfügung.

    • Die Option Maximaler Parallelitätsgrad ist auf 1 gesetzt.

Ein logischer Prozessor ist die grundlegende Einheit der Prozessorhardware, die es dem Betriebssystem ermöglicht, eine Aufgabe zu versenden oder einen Thread-Kontext auszuführen. Jeder logische Prozessor kann nur einen Thread-Kontext zur gleichen Zeit ausführen. Der Prozessorkern ist der Schaltkreis, der die Fähigkeit zur Dekodierung und Ausführung von Anweisungen bietet. Ein Prozessorkern kann einen oder mehrere logische Prozessoren enthalten. Die folgende Transact-SQL-Abfrage kann verwendet werden, um CPU-Informationen für das System zu erhalten.

SELECT (cpu_count / hyperthread_ratio) AS PhysicalCPUs, cpu_count AS logicalCPUs FROM sys.dm_os_sys_info 

Empfehlungen

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

  • In bestimmten Fällen kann ein paralleler Plan gewählt werden, obwohl der Kostenplan der Abfrage unter dem aktuellen Kostenschwellenwert für Parallelität liegt. Dies kann passieren, weil die Entscheidung, einen parallelen oder seriellen Plan zu verwenden, auf einer Kostenschätzung basiert, die zu einem früheren Zeitpunkt im Optimierungsprozess abgegeben wurde. Weitere Informationen finden Sie im Query Processing Architecture Guide.

  • Während der Standardwert von 5 für die meisten Systeme ausreichend ist, kann ein anderer Wert angemessen sein. Führen Sie bei Bedarf Anwendungstests mit höheren und niedrigeren Werten durch, um die Anwendungsleistung zu optimieren.

Sicherheit

Berechtigungen

Ausführungsberechtigungen für sp_configure ohne Parameter oder nur mit dem ersten Parameter werden standardmäßig allen Benutzern gewährt. Um sp_configure mit beiden Parametern auszuführen, um eine Konfigurationsoption zu ändern oder die RECONFIGURE-Anweisung auszuführen, muss einem Benutzer die Serverberechtigung ALTER SETTINGS erteilt werden. Die Berechtigung ALTER SETTINGS wird implizit von den festen Serverrollen sysadmin und serveradmin vergeben.

Verwenden von SQL Server Management Studio

So konfigurieren Sie den Kostenschwellenwert für die Parallelitätsoption

  1. Klicken Sie im Object Explorer mit der rechten Maustaste auf einen Server und wählen Sie Eigenschaften.

  2. Klicken Sie auf den Knoten Erweitert.

  3. Ändern Sie unter Parallelität die Option Kostenschwelle für Parallelität auf den gewünschten Wert. Geben Sie einen Wert zwischen 0 und 32767 ein oder wählen Sie ihn aus.

Verwenden von Transact-SQL

So konfigurieren Sie die Option Kostenschwelle für Parallelität

  1. Verbinden Sie sich mit dem Datenbankmodul.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein und klicken Sie auf Ausführen. Dieses Beispiel zeigt, wie Sie sp_configure verwenden, um den Wert der Option cost threshold for parallelism auf 10 zu setzen.

USE AdventureWorks2012 ; GO EXEC sp_configure 'show advanced options', 1 ; GO RECONFIGURE GO EXEC sp_configure 'cost threshold for parallelism', 10 ; GO RECONFIGURE GO 

Weitere Informationen finden Sie unter Serverkonfigurationsoptionen (SQL Server).

Nachbereitung: Nachdem Sie die Kostenschwelle für die Parallelitätsoption konfiguriert haben

Die Einstellung wird sofort wirksam, ohne dass der Server neu gestartet werden muss.

Siehe auch

Parallele Indexoperationen konfigurieren
Query Hints (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL)
Affinitätsmaske Serverkonfigurationsoption
RECONFIGURE (Transact-SQL)
Serverkonfigurationsoptionen (SQL Server)
sp_configure (Transact-SQL)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.