Microsoft SQL Server 2008

Konfigurowanie przetwarzania równoległego w SQL Server 2008 Udostępnij na: Facebook

Wskazówki dotyczące SQL Server

Opublikowano: 19 maja 2009

Ustalenie, czy przetwarzanie równoległe powinno być użyte, wymaga wielu obliczeń. Ogólnie rzecz biorąc, SQL Server przetwarza zapytania równolegle w następujących przypadkach:

  • Gdy liczba procesorów jest większa niż liczba aktywnych połączeń.
  • Gdy szacowany koszt szeregowego wykonania zapytania jest wyższy niż próg planu zapytania. (Szacowany koszt odnosi się do czasu w sekundach potrzebnego na szeregowe wykonanie zapytania.)

Określone typy instrukcji nie mogą być przetwarzane równolegle, jeśli nie zawierają klauzul. Na przykład UPDATE, INSERT i DELETE nie są zwykle przetwarzane równolegle, nawet jeśli zapytanie spełnia kryteria. Jeśli jednak instrukcje UPDATE lub DELETE zawierają klauzulę WHERE, zaś instrukcja INSERT zawiera klauzulę SELECT, to WHERE i SELECT mogą być wykonywane równolegle. Zmiany są w tych przypadkach wprowadzane kolejno do bazy.

Przetwarzanie równoległe można skonfigurować, wykonując podane niżej kroki:

1. W oknie dialogowym Server Properties (Właściwości serwera) przechodzimy do strony Advanced (Zaawansowane).

2. Domyślne ustawienie Max Degree Of Parallelism (Maksymalny stopień równoległości) to 0, co oznacza, że maksymalna liczba procesorów używanych do przetwarzania równoległego jest sterowana automatycznie. W gruncie rzeczy SQL Server używa aktualnie dostępnej liczby procesorów, zależnie od obciążenia pracą. Aby ograniczyć liczbę procesorów używanych do przetwarzania równoległego do ustalonej liczby (do maksimum obsługiwanego przez SQL Server), zmieniamy ustawienie Max Degree Of Parallelism na wartość większą od 1. Wartość 1 informuje SQL Server, że ma nie używać przetwarzania równoległego.

3. Dla dużych, złożonych zapytań równoległe wykonanie jest zwykle korzystne, jednak SQL Server wykonuje przetwarzanie równoległe tylko wtedy, gdy przewidywana liczba sekund wymaganych do wykonania szeregowego dla danego zapytania jest wyższa niż wartość ustawiona jako próg kosztów przetwarzania równoległego. Przewidywany próg ustawiamy za pomocą pola Cost Threshold For Parallelism (Próg kosztów równoległości) na stronie Advanced okna dialogowego Server Properties. Można użyć dowolnej wartości od 0 do 32767. Przy jednym procesorze próg kosztów jest ignorowany.

4. Klikamy OK. Zmiany są wprowadzane natychmiast. Nie trzeba restartować serwera.

Można też W celu skonfigurowania przetwarzania równoległego można także użyć procedury składowanej sp_configure. Odpowiednie polecenie w Transact-SQL ma postać:

exec sp_configure "maksymalny stopień równoległości", <wartość całkowita>

exec sp_configure "próg kosztów dla równoległości", <wartość całkowita>

Z książki wydawnictwa Microsoft Press, Microsoft SQL Server 2008 Administrator's Pocket Consultant.

 Do początku strony Do początku strony

Microsoft SQL Server 2008