• 03/02/2017
  • 3 minuty na przeczytanie
  • .

    • m
    • M
    • J
    • r
    • M
    • +3

Applies to: yesSQL Server (wszystkie obsługiwane wersje)

W tym temacie opisano sposób konfigurowania opcji konfiguracji serwera Próg kosztów dla równoległości w programie SQL Server za pomocą programu SQL Server Management Studio lub języka Transact-SQL. Opcja Próg kosztu dla równoległości określa próg, przy którym SQL Server tworzy i uruchamia plany równoległe dla zapytań. SQL Server tworzy i uruchamia plan równoległy dla zapytania tylko wtedy, gdy szacowany koszt uruchomienia planu szeregowego dla tego samego zapytania jest wyższy niż wartość ustawiona w progu kosztu dla równoległości. Koszt odnosi się do szacunkowego kosztu wykonania planu seryjnego na określonej konfiguracji sprzętowej i nie jest jednostką czasu. Próg kosztu dla równoległości może być ustawiony na dowolną wartość z zakresu od 0 do 32767. Domyślną wartością jest 5.

W tym temacie

  • Zanim zaczniesz:

    Wyłączenia i ograniczenia

    Zalecenia

    Bezpieczeństwo

  • Aby skonfigurować opcję Próg kosztów dla równoległości, używając:

    SQL Server Management Studio

    Transact-SQL

  • Dalsze postępowanie: Po skonfigurowaniu opcji Próg kosztu dla równoległości

Before You Begin

Limitations and Restrictions

  • Koszt odnosi się do wyabstrahowanej jednostki kosztu, a nie jednostki szacowanego czasu. Próg kosztu dla równoległości należy ustawić tylko na symetrycznych multiprocesorach.

  • SerwerSQL ignoruje wartość progu kosztu dla równoległości w następujących warunkach:

    • Twój komputer ma tylko jeden procesor logiczny.

    • Tylko jeden procesor logiczny jest dostępny dla programu SQL Server z powodu opcji konfiguracyjnej affinity mask.

    • Opcja max degree of parallelism jest ustawiona na 1.

Procesor logiczny to podstawowa jednostka sprzętu procesorowego, która umożliwia systemowi operacyjnemu wysyłanie zadania lub wykonywanie kontekstu wątku. Każdy procesor logiczny może wykonywać tylko jeden kontekst wątku w tym samym czasie. Rdzeń procesora jest układem, który zapewnia zdolność dekodowania i wykonywania instrukcji. Rdzeń procesora może zawierać jeden lub więcej procesorów logicznych. Poniższe zapytanie Transact-SQL może być użyte do uzyskania informacji o procesorze dla systemu.

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

Zalecenia

  • Ta opcja jest opcją zaawansowaną i powinna być zmieniana tylko przez doświadczonego administratora bazy danych lub certyfikowanego specjalistę SQL Server.

  • W niektórych przypadkach może zostać wybrany plan równoległy, mimo że plan kosztów zapytania jest mniejszy niż aktualny próg kosztów dla wartości równoległości. Może się to zdarzyć, ponieważ decyzja o użyciu planu równoległego lub szeregowego jest oparta na oszacowaniu kosztów dostarczonym wcześniej w procesie optymalizacji. Więcej informacji można znaleźć w podręczniku Query Processing Architecture Guide.

  • Choć domyślna wartość 5 jest odpowiednia dla większości systemów, inna wartość może być odpowiednia. W razie potrzeby wykonaj testy aplikacji z wyższymi i niższymi wartościami, aby zoptymalizować wydajność aplikacji.

Bezpieczeństwo

Uprawnienia

Uprawnienia do wykonywania sp_configure bez parametrów lub tylko z pierwszym parametrem są domyślnie przyznawane wszystkim użytkownikom. Aby wykonać sp_configure z obydwoma parametrami w celu zmiany opcji konfiguracyjnej lub uruchomienia instrukcji RECONFIGURE, użytkownik musi posiadać uprawnienie na poziomie serwera ALTER SETTINGS. Uprawnienie ALTER SETTINGS jest niejawnie posiadane przez role stałych serwerów sysadmin i serveradmin.

Using SQL Server Management Studio

To configure the cost threshold for parallelism option

  1. W Object Explorer kliknij prawym przyciskiem myszy serwer i wybierz Properties.

  2. Kliknij węzeł Zaawansowane.

  3. W sekcji Równoległość zmień opcję Próg kosztu dla równoległości na żądaną wartość. Wpisz lub wybierz wartość z zakresu od 0 do 32767.

Using Transact-SQL

To configure the cost threshold for parallelism option

  1. Connect to the Database Engine.

  2. Z paska Standard kliknij przycisk Nowe zapytanie.

  3. Kopiuj i wklej poniższy przykład do okna zapytania i kliknij Wykonaj. Ten przykład pokazuje, jak użyć sp_configure, aby ustawić wartość opcji cost threshold for parallelism na 10.

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

Więcej informacji można znaleźć w temacie Opcje konfiguracji serwera (SQL Server).

Kontynuacja: Po skonfigurowaniu opcji Próg kosztu dla równoległości

Ustawienie to zaczyna działać natychmiast, bez ponownego uruchamiania serwera.

Zobacz także

Konfigurowanie równoległych operacji na indeksach
Wskazówki dotyczące zapytań (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL)
Opcja konfiguracji serwera maskiaffinity
RECONFIGURE (Transact-SQL)
Opcje konfiguracji serwera (SQL Server)
sp_configure (Transact-SQL)

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.