Konfigurieren der Serverkonfigurationsoption Kostenschwellenwert für Parallelität

Gilt für:SQL Server

In diesem Artikel wird beschrieben, wie die Serverkonfigurationsoption Kostenschwellenwert für Parallelität in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL konfiguriert wird. Mit der Option Kostenschwellenwert für Parallelität geben Sie 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 das Ausführen eines seriellen Plans für dieselbe Abfrage höher liegen als der Wert, der in Kostenschwellenwert für Parallelitätfestgelegt wurde. Die Kosten beziehen sich auf die geschätzten Kosten, die für das Ausführen des seriellen Plans bei einer bestimmten Hardwarekonfiguration anfallen, und sie stellen keine Einheit der Zeit dar. Die Option Kostenschwellenwert für Parallelität kann auf einen beliebigen Wert zwischen 0 und 32767 festgelegt werden.

In diesem Thema

Vorbereitungen

Einschränkungen

  • Die Kosten beziehen sich auf eine abstrakte Kosteneinheit und nicht auf eine Einheit der geschätzten Zeit. Legen Sie die Option cost threshold for parallelism nur auf SMP-Systemen (Symmetric Multiprocessor) fest.

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

    • Ihr Computer verfügt nur über einen logischen Prozessor.

    • Für SQL Server steht wegen der Konfigurationsoption Affinitätsmaske nur ein logischer Prozessor zur Verfügung.

    • Die Option Max. Grad an Parallelität ist auf den Wert 1 festgelegt.

Ein logischer Prozessor ist die grundlegende Einheit von Prozessorhardware, die dem Betriebssystem ermöglicht, einen Task weiterzuleiten oder einen Threadkontext auszuführen. Jeder logische Prozessor kann an einem bestimmten Zeitpunkt nur einen Threadkontext ausführen. Der Prozessorkern ist die Schaltungstechnik, mit der Anweisungen decodiert und ausgeführt werden können. Ein Prozessorkern enthält möglicherweise einen oder mehrere logische Prozessoren. Die folgende Transact-SQL-Abfrage kann zum Abrufen von CPU-Informationen für das System verwendet werden.

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 ausschließlich von einem erfahrenen Datenbankadministrator oder einem zertifizierten SQL Server -Experten geändert werden.

  • In bestimmten Fällen kann ein paralleler Plan ausgewählt werden, obwohl der Kostenplan der Abfrage unter dem aktuellen Wert der Option Kostenschwellenwert für Parallelität liegt. Dieser Fall kann eintreten, wenn die Entscheidung zum Verwenden eines parallelen oder seriellen Plans auf einer Kostenschätzung basiert, die zu einem früheren Zeitpunkt im Optimierungsprozess bereitgestellt wurde. Weitere Informationen finden Sie im Handbuch zur Architektur der Abfrageverarbeitung.

  • Der Standardwert von 5 ist zwar für die meisten Systeme angemessen, in einigen Fällen eignet sich jedoch ein anderer Wert besser. Führen Sie bei Bedarf Anwendungstests mit höheren und niedrigeren Werten durch, um die Anwendungsleistung zu optimieren.

Sicherheit

Berechtigungen

Die Ausführungsberechtigungen für sp_configure ohne Parameter oder nur mit dem ersten Parameter werden standardmäßig allen Benutzern erteilt. Zum Ausführen von sp_configure mit beiden Parametern zum Ändern einer Konfigurationsoption oder zum Ausführen der RECONFIGURE-Anweisung muss einem Benutzer die ALTER SETTINGS-Berechtigung auf Serverebene erteilt worden sein. Die ALTER SETTINGS-Berechtigung ist in den festen Serverrollen sysadmin und serveradmin eingeschlossen.

Verwendung von SQL Server Management Studio

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

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

  2. Klicken Sie auf den Erweitert -Knoten.

  3. Legen Sie unter Parallelitätfür die Option Kostenschwellenwert für Parallelität den gewünschten Wert fest. Geben Sie einen Wert zwischen 0 und 32767 ein bzw. wählen Sie diesen aus.

Verwenden von Transact-SQL

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

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

  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. In diesem Beispiel wird gezeigt, wie sp_configure verwendet wird, um den Wert der Option cost threshold for parallelism auf 10festzulegen.

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).

Nachverfolgung: Nach dem Konfigurieren der Option Kostenschwellenwert für Parallelität

Die Einstellung tritt ohne Neustarten des Servers sofort in Kraft.

Weitere Informationen

Konfigurieren von Parallelindexvorgängen
Abfragehinweise (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL)
Affinitätsmaske (Serverkonfigurationsoption)
RECONFIGURE (Transact-SQL)
Serverkonfigurationsoptionen (SQL Server)
sp_configure (Transact-SQL)