Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
W tym artykule opisano sposób konfigurowania opcji konfiguracji serwera max degree of parallelism (MAXDOP) w programie SQL Server, używając programu SQL Server Management Studio lub języka Transact-SQL. Gdy instancja programu SQL Server działa na komputerze z więcej niż jednym mikroprocesorem lub procesorem, silnik bazy danych wykrywa, czy można użyć równoległości. Stopień równoległości określa liczbę procesorów używanych do uruchamiania pojedynczej instrukcji dla każdego równoległego wykonania planu. Możesz użyć max degree of parallelism opcji, aby ograniczyć liczbę procesorów do użycia w równoległym wykonywaniu planu. Aby uzyskać więcej informacji na temat limitu ustawionego przez max degree of parallelism, zobacz sekcję Zagadnienia na tej stronie. Program SQL Server uwzględnia równoległe plany wykonywania zapytań, operacje języka definicji danych indeksu (DDL), równoległe operacje wstawiania, zmianę kolumny w trybie online, równoległe zbieranie statystyk oraz populację kursorów sterowanych zestawem kluczy i statycznych.
Program SQL Server 2019 (15.x) wprowadził automatyczne zalecenia dotyczące ustawiania max degree of parallelism opcji konfiguracji serwera na podstawie liczby procesorów dostępnych podczas procesu instalacji. Interfejs użytkownika konfiguracji umożliwia akceptowanie zalecanych ustawień lub wprowadzanie własnej wartości. Aby uzyskać więcej informacji, zobacz Stronę Konfiguracja aparatu bazy danych — MaxDOP.
W usłudze Azure SQL Database, bazie danych SQL w usłudze Fabric i usłudze Azure SQL Managed Instance domyślnym ustawieniem MAXDOP dla każdej nowej pojedynczej bazy danych, bazy danych w puli elastycznej i wystąpienia zarządzanego jest 8. W Azure SQL Database i SQL Database w ramach usługi Fabric, konfiguracja obejmująca daną bazę danych jest ustawiona na wartość MAXDOP8. W usłudze Azure SQL Managed Instance opcja konfiguracji serwera max degree of parallelism jest ustawiona na 8.
Aby dowiedzieć się więcej o MAXDOP w usłudze Azure SQL Database lub bazie danych SQL w usłudze Fabric, zobacz Konfigurowanie maksymalnego stopnia równoległości (MAXDOP) w usłudze Azure SQL Database i bazie danych SQL w usłudze Fabric.
Considerations
Ta opcja jest opcją zaawansowaną i powinna zostać zmieniona tylko przez doświadczonych specjalistów w dziedzinie bazy danych.
Jeśli opcja maski koligacji nie jest ustawiona na wartość domyślną, może ograniczyć liczbę procesorów dostępnych dla programu SQL Server w systemach symmetric multiprocessing (SMP).
Ustawienie max degree of parallelism umożliwia programowi 0 SQL Server używanie wszystkich dostępnych procesorów do 64 procesorów. Jednak nie jest to zalecana wartość w większości przypadków. Aby uzyskać więcej informacji na temat zalecanych wartości maksymalnego stopnia równoległości, zobacz sekcję Zalecenia na tej stronie.
Aby pominąć generowanie planu równoległego, ustaw max degree of parallelism na 1. Ustaw wartość na liczbę z zakresu od 1 do 32 767, aby określić maksymalną liczbę rdzeni procesora, które mogą być używane podczas wykonywania pojedynczego zapytania. Jeśli zostanie określona wartość większa niż liczba dostępnych procesorów, zostanie użyta rzeczywista liczba dostępnych procesorów. Jeśli komputer ma tylko jeden procesor, max degree of parallelism wartość jest ignorowana.
Maksymalny stopień limitu równoległości jest ustawiany na zadanie. Nie jest to limit na żądanie ani na zapytanie. Oznacza to, że podczas równoległego wykonywania zapytania pojedyncze żądanie może uruchomić wiele zadań aż do limitu MAXDOP, a każde zadanie używa jednego wątku roboczego i jednego harmonogramu. Aby uzyskać więcej informacji, zobacz sekcję Planowanie zadań równoległych w przewodniku dotyczącym architektury wątków i zadań.
Można nadpisać maksymalny stopień równoległości w konfiguracji serwera:
- Na poziomie zapytania użyj
MAXDOPwskazówek dotyczących zapytania lub wskazówek dla Query Store. - Na poziomie bazy danych przy użyciu
MAXDOPkonfiguracji bazy danych o określonym zakresie. - Na poziomie obciążenia użyj
MAX_DOPopcji grupy obciążeń zarządcy zasobów.
Operacje indeksowania, które tworzą lub ponownie kompilują indeks lub które upuszczają indeks klastrowany, mogą intensywnie obciążać zasoby. Możesz zastąpić maksymalny stopień równoległości dla operacji indeksowania, określając MAXDOP opcję indeksu w instrukcji indeksu. Wartość MAXDOP jest stosowana do instrukcji w czasie wykonywania i nie jest przechowywana w metadanych indeksu. Aby uzyskać więcej informacji, zobacz Konfigurowanie operacji indeksu równoległego.
Oprócz zapytań i operacji indeksowania ta opcja kontroluje również równoległość elementów DBCC CHECKTABLE, DBCC CHECKDBi DBCC CHECKFILEGROUP. Możesz wyłączyć równoległe plany wykonywania dla tych instrukcji, używając flagi śledzenia 2528. Aby uzyskać więcej informacji, zobacz flagę śledzenia 2528.
Program SQL Server 2022 (16.x) wprowadził informację zwrotną Dotyczącą Stopnia Równoległości (DOP), nową funkcję zwiększającą wydajność zapytań przez identyfikację nieefektywności w równoległym przetwarzaniu dla powtarzających się zapytań, na podstawie upływu czasu i okresów oczekiwania. Informacja zwrotna DOP jest częścią rodziny inteligentnego przetwarzania zapytań i dotyczy nieoptymalnego wykorzystania przetwarzania równoległego dla powtarzających się zapytań. Aby uzyskać informacje na temat informacji zwrotnej DOP, odwiedź stronę Stopień równoległości (DOP).
Recommendations
W programie SQL Server 2016 (13.x) i nowszych wersjach, jeśli podczas uruchamiania usługi aparat bazy danych wykryje więcej niż osiem rdzeni fizycznych na węzeł NUMA lub gniazdo, węzły soft-NUMA są tworzone automatycznie. Silnik bazy danych rozmieszcza procesory logiczne pochodzące z tego samego rdzenia fizycznego na różne węzły NUMA oprogramowania. Zalecenia w poniższej tabeli mają na celu zachowanie wszystkich wątków roboczych zapytania równoległego w tym samym węźle soft-NUMA. Poprawia to wydajność zapytań oraz dystrybucję wątków roboczych pomiędzy węzłami NUMA w przypadku obciążenia. Aby uzyskać więcej informacji, zobacz Soft-NUMA (SQL Server).
W programie SQL Server 2016 (13.x) i nowszych wersjach użyj następujących wskazówek podczas konfigurowania max degree of parallelism wartości konfiguracji serwera:
| Konfiguracja serwera | Liczba procesorów | Guidance |
|---|---|---|
| Serwer z pojedynczym węzłem NUMA | Mniejsze niż lub równe ośmiu procesorów logicznych | Utrzymuj MAXDOP na poziomie nie wyższym niż liczba procesorów logicznych |
| Serwer z pojedynczym węzłem NUMA | Więcej niż osiem procesorów logicznych | Utrzymaj MAXDOP na poziomie 8 |
| Serwer z wieloma węzłami NUMA | Mniejsze niż lub równe 16 procesorów logicznych na węzeł NUMA | Utrzymuj MAXDOP na poziomie nieprzekraczającym liczby procesorów logicznych na węzeł NUMA |
| Serwer z wieloma węzłami NUMA | Więcej niż 16 procesorów logicznych na węzeł NUMA | Utrzymuj MAXDOP na poziomie połowy liczby procesorów logicznych na węzeł NUMA, maksymalnie 16 |
Węzeł NUMA w poprzedniej tabeli odnosi się do węzłów soft-NUMA automatycznie tworzonych przez SQL Server 2016 (13.x) i nowsze wersje lub sprzętowych węzłów NUMA, jeśli soft-NUMA jest wyłączone.
Używaj tych samych wytycznych podczas ustawiania opcji maksymalnego stopnia równoległości dla grup obciążeń Menedżera Zasobów. Aby uzyskać więcej informacji, zobacz CREATE WORKLOAD GROUP.
SQL Server 2014 i starsze wersje
Z programu SQL Server 2008 (10.0.x) do programu SQL Server 2014 (12.x) użyj następujących wskazówek podczas konfigurowania max degree of parallelism wartości konfiguracji serwera:
| Konfiguracja serwera | Liczba procesorów | Guidance |
|---|---|---|
| Serwer z pojedynczym węzłem NUMA | Mniejsze niż lub równe ośmiu procesorów logicznych | Utrzymuj MAXDOP na poziomie nieprzekraczającym liczby procesorów logicznych |
| Serwer z pojedynczym węzłem NUMA | Więcej niż osiem procesorów logicznych | Utrzymaj MAXDOP na poziomie 8 |
| Serwer z wieloma węzłami NUMA | Mniejsze niż lub równe ośmiu procesorów logicznych na węzeł NUMA | Utrzymuj wartość MAXDOP na poziomie nie większym niż liczba procesorów logicznych na węzeł NUMA |
| Serwer z wieloma węzłami NUMA | Więcej niż osiem procesorów logicznych na węzeł NUMA | Utrzymuj MAXDOP na poziomie 8 |
Permissions
Uprawnienia do wykonywania na sp_configure, bez parametrów lub tylko z pierwszym parametrem, są domyślnie przyznawane wszystkim użytkownikom. Aby wykonać sp_configure z obydwoma parametrami, aby zmienić opcję konfiguracji lub uruchomić instrukcję RECONFIGURE, użytkownik musi mieć uprawnienie ALTER SETTINGS na poziomie serwera. Uprawnienie ALTER SETTINGS jest niejawnie posiadane przez sysadmin i serveradmin role stałe serwera.
Korzystanie z programu SQL Server Management Studio
Te opcje zmieniają MAXDOP wartość dla wystąpienia.
W Eksploratorze obiektów kliknij prawym przyciskiem myszy żądane wystąpienie i wybierz polecenie Właściwości.
Wybierz węzeł Zaawansowany .
W polu Maksymalny stopień równoległości wybierz maksymalną liczbę procesorów do użycia w równoległym wykonaniu planu.
Korzystanie z Transact-SQL
Możesz nawiązać połączenie z wystąpieniem programu SQL Server przy użyciu dowolnego znanego narzędzia klienckiego programu SQL Server, takiego jak sqlcmd, SQL Server Management Studio (SSMS) lub rozszerzenie MSSQL dla programu Visual Studio Code.
Skopiuj i wklej poniższy przykład do okna zapytania, a następnie wybierz pozycję Wykonaj. W tym przykładzie pokazano, jak za pomocą sp_configure skonfigurować max degree of parallelism opcję na 16.
USE master;
GO
EXECUTE sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXECUTE sp_configure 'max degree of parallelism', 16;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXECUTE sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO
Aby uzyskać więcej informacji, zobacz opcje konfiguracji serwera .
Następny krok: Po skonfigurowaniu maksymalnego stopnia równoległości
Ustawienie zostanie zastosowane natychmiast bez ponownego uruchomienia serwera.
Treści powiązane
- inteligentne przetwarzanie zapytań w bazach danych SQL
- przewodnik po architekturze przetwarzania zapytań
- Ustaw flagi śledzenia za pomocą DBCC TRACEON (Transact-SQL)
- Wskazówki dotyczące Magazynu Zapytań
- wskazówki dotyczące zapytań (Transact-SQL)
- WYKORZYSTAJ WSKAZÓWKĘ DLA ZAPYTANIA
- ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)
- opcja konfiguracji serwera affinity mask
- opcje konfiguracji serwera
- Przewodnik po architekturze przetwarzania zapytań
- Przewodnik po architekturze wątków i zadań
- sp_configure (Transact-SQL)
- Ustaw Opcje Indeksu
- Informacje zwrotne dotyczące stopnia równoległości (DOP)
- KONFIGURUJ PONOWNIE (Transact-SQL)
- Monitorowanie i dostrajanie pod kątem wydajności
- Configure Parallel Index Operations (Konfigurowanie równoległych operacji indeksowania)