maski koligacji opcję

Ostrzeżenie

Ta funkcja zostanie usunięta z przyszłej wersji programu Microsoft SQL Server. Nie należy stosować tej funkcji w nowych projektach oraz jak najszybciej należy zmodyfikować aplikacje, w których obecnie jest używana ta funkcja.

Przeprowadzenie wielozadaniowy, Microsoft systemu Windows 2000 i Windows Server 2003 czasami przenieść wątki procesów wśród różnych procesorów.Chociaż efektywne z punktu widzenia systemu operacyjnego, można zmniejszyć tego działania SQL Server wydajności w systemie ciężkich obciążeń, jak każdy procesor pamięci podręcznej jest wielokrotnie ponownie załadować za pomocą danych.Przypisywanie procesorów określonych wątków można zwiększyć wydajność w tych warunkach przez wyeliminowanie załadunków procesora i zmniejszenie migracji wątek przez przetwórców (a tym samym zmniejszając przełączanie kontekstu); związek między wątek i procesor jest nazywany koligacji procesora.

SQL Serverobsługuje koligacjami procesorów z dwóch opcji maski koligacji: affinity mask(znane również jako CPU affinity mask) i affinity I/O mask.For more information on the affinity I/O mask option, see maski koligacji we/wy, opcja.CPU and I/O affinity support for servers with 33 to 64 processors requires the additional use of the Maska affinity64, opcja and maska we/wy affinity64 opcji, respectively.

Ostrzeżenie

Koligacja Obsługa serwerów 33 do 64 procesorów jest dostępna tylko w 64-bitowych systemach operacyjnych.

affinity mask Opcji, które istniały w starszych wersjach SQL Server, dynamicznie kontroluje koligacje Procesora.

W SQL Server, affinity mask opcję można konfigurować bez konieczności ponownego uruchomienia wystąpienie SQL Server.Kiedy używasz sp_configure, należy uruchomić ponownej konfiguracja lub zmienić konfiguracja Z ZASTĘPUJĄ, po ustawieniu opcji konfiguracja.Kiedy używasz SQL Server Express, zmiana opcji maski koligacji wymagają ponownego uruchomienia komputera.

Miejsce zmiany maski koligacji dynamicznie, pozwalając na żądanie uruchomienia i zamknięcia pracownikom Procesora, które wiązać wątków procesu, w SQL Server.Może to występować jako zmiany warunków na serwerze.Na przykład, jeśli nowe wystąpienie SQL Server jest dodawany do serwera, może być konieczne wprowadzenie zmian do affinity mask opcji redystrybuuje obciążenie procesora.

Wymagają modyfikacji koligacji bitmasks SQL Server Nowy harmonogram Procesora włączania i wyłączania istniejącego harmonogramu Procesora.Nowe instancje mogą być następnie przetwarzane na nowe lub pozostałych pracownikom.

Aby rozpocząć nowy harmonogram Procesora, SQL Server tworzy nowy harmonogram i dodaje go do listy jej pracownikom standardowych.Nowy harmonogram uważa się tylko dla nowych instancji przychodzących.Bieżącej instancji nadal działały w tym samym harmonogram.Pracowników migrację do nowego harmonogramu, mogą zwolnić lub miarę tworzenia nowych pracowników.

Trwa zamykanie niedziałający harmonogram wymaga wszystkich partii na harmonogram zakończenia ich działalności i wyjść.Harmonogram, który spowodował zamknięcie niedziałający jest oznaczony jako w trybie offline, tak, aby nie nowej partia jest zaplanowane na nim.

Czy nowy harmonogram jest dodawany lub usuwany, zadań stały system, takich jak lockmonitor, punkt kontrolny, wątek zadaniami systemu (przetwarzania DTC), i kontynuować procesu sygnału na harmonogram podczas serwera jest operacyjne.Zadania te stały system nie są migrowane dynamicznie.Redystrybuowanie obciążenia procesora do wykonywania tych zadań między pracownikom, jest konieczne ponowne uruchomienie SQL Server wystąpienie.Jeśli SQL Server próbuje zamknąć niedziałający harmonogram skojarzonych z zadaniem stały system, zadanie wciąż na harmonogram offline (nie migracji).Ten harmonogram jest związany z procesorów maski koligacji zmodyfikowany i nie wolno umieszczać żadnych obciążenia procesora został affinitized z przed zmianą.Posiadające pracownikom dodatkowe w trybie offline, nie powinna wpływać znacząco na obciążenia systemu.Jeśli nie jest przypadek, aby ponownie skonfigurować te zadania jest wymagany ponowny rozruch serwera bazy danych.

Maski koligacji we/wy bezpośrednio dotyczy zadania koligacji we/wy (takie jak lazywriter i logwriter).Jeśli zadania lazywriter i logwriter nie są affinitized, ich wykonaj te same reguły zdefiniowane dla innych stałych zadań takich jak lockmonitor lub punkt kontrolny.

Aby zapewnić prawidłowe nowe maski koligacji, polecenie ponownej konfiguracji sprawdza, wykluczają się normalnym koligacje Procesora i we/wy.Jeśli nie jest przypadek, komunikat o błędzie jest raportowany w sesja klient i SQL Server Dziennik błędów, wskazując, że takie ustawienie nie jest zalecane.Uruchomione ponownie skonfigurować Z ZASTĘPUJĄ opcje umożliwia koligacje Procesora i we/wy, które nie wykluczają się wzajemnie.

Jeśli określisz maski koligacji, że próba mapowania do nieistniejącego Procesora polecenie ponownej konfiguracji zgłosi komunikat o błędzie do sesja klient i SQL Server dziennik błędów.W tym przypadek przy użyciu opcji Zmień konfiguracja Z ZASTĘPOWANIA nie ma wpływu i ponownie zgłaszany jest błąd tej samej konfiguracja.

Można także wykluczyć SQL Server działania z procesorów przypisane przydziały obciążenia określonego przez system Windows 2000 lub systemu operacyjnego Windows Server 2003.Jeśli użytkownik zestaw bit reprezentuje procesor 1, że procesor jest wybierany przez SQL Server Aparatu bazy danych dla wątek przypisania.Gdy użytkownik zestaw maski koligacji 0 (domyślnie), Microsoft Windows 2000 lub Windows Server 2003, planowanie algorytmy zestaw koligacji wątek.Gdy użytkownik zestaw maski koligacji dowolną wartość niezerową SQL Server koligacji interpretuje wartość jako maski, który określa te procesory kwalifikujących się do zaznaczenia.

Poprzez oddzielenie SQL Server wątków na poszczególnych procesorów, Microsoft Windows 2000 lub Windows Server 2003 z systemem można lepiej ocenić systemu obsługi procesów specyficzne dla systemu Windows.Na przykład na serwerze Procesora 8 uruchomione dwa wystąpienie SQL Server (instancji a i B), można użyć administrator systemu affinity mask opcję, aby przypisać pierwszy zestaw 4 procesory do wystąpienie i drugi zestaw 4 do wystąpienie B.Aby skonfigurować więcej niż 32 procesorów zestaw zarówno affinity mask i affinity64 mask.Wartości dla maski koligacji są następujące:

  • Jeden bajt maski koligacji obejmuje maksymalnie 8 procesorów w komputerze wieloprocesorowym.

  • Bajt dwóch maski koligacji obejmuje maksymalnie 16 procesorów w komputerze wieloprocesorowym.

  • Bajt trzy maski koligacji obejmuje maksymalnie 24 procesorów w komputerze wieloprocesorowym.

  • Bajt czterech maski koligacji obejmuje do 32 procesorów w komputerze wieloprocesorowym.

  • Obejmujące więcej niż 32 procesorów, konfigurowanie maski koligacji czwartego bajtu dla pierwszych 32 procesorów i maska affinity64 czwartego bajtu dla pozostałych procesorów.

Ponieważ ustawienie SQL Server koligacji procesora jest operacją wyspecjalizowanych, zalecane jest ono używane tylko wtedy, gdy to konieczne.W większości przypadków koligacji domyślnego systemu Microsoft Windows 2000 lub Windows Server 2003 zapewnia najlepszą wydajność.Należy również rozważyć wymagania dotyczące Procesora dla innych aplikacji po ustawieniu maski koligacji.Więcej informacji na ten temat można znaleźć w dokumentacji systemu operacyjnego Windows.

Ostrzeżenie

Za pomocą Monitora systemu Windows do wyświetlania i analizowania poszczególnych procesora.

Podczas określania affinity I/O mask opcji, należy użyć go w połączeniu z affinity mask opcji konfiguracja.Nie włączaj tego samego Procesora w obu maski koligacji przełączania i affinity I/O mask opcji.Bity odpowiadają każdego Procesora powinny być w jednym z tych trzech stanów:

  • 0, zarówno w affinity mask opcji i affinity I/O mask opcji.

  • 1 w affinity mask opcji i 0 w affinity I/O mask opcji.

  • 0 in the affinity mask option and 1 in the affinity I/O mask option.

PrzestrogaPrzestroga

Nie konfigurowania koligacji Procesora w systemie operacyjnym Windows, a także skonfigurować maski koligacji w SQL Server.Próbujesz osiągnąć to samo tych ustawień i konfiguracji są niezgodne, może być nieprzewidywalna wyniki.SQL ServerKoligacje Procesora najlepiej jest skonfigurowany przy użyciu sp_configure opcji w SQL Server.

Przykład

Na przykład zestaw affinity mask opcji, jeśli procesory 1, 2 i 5 są zaznaczone jako dostępne z bitów 1 i 2, 5, wartość 1, a bity 0, 3, 4, 6 i 7 ustawione na 0, wartość szesnastkowa 0x26 lub odpowiednik dziesiętnej 38 określono.Liczba bitów od prawej do lewej. affinity mask Opcji uruchamiania zliczania procesorów od 0 do 31, tak że w poniższym przykładzie licznika 1 reprezentuje drugiego procesora na serwerze.

sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'affinity mask', 38;
RECONFIGURE;
GO

Są to maski koligacji wartości 8-Procesora systemu.

Wartość dziesiętna

Maska bitowa binarne

Zezwalaj na procesorach wątków programu SQL Server

1

00000001

0

3

00000011

0 i 1

7

00000111

0, 1 i 2

15

00001111

0, 1, 2 i 3

31

00011111

0, 1, 2, 3 i 4

63

00111111

0, 1, 2, 3, 4 i 5

127

01111111

0, 1, 2, 3, 4, 5 i 6

255

11111111

0, 1, 2, 3, 4, 5, 6 i 7

min memory per query Jest opcji zaawansowanych opcji.Jeśli używasz sp_configure systemowa procedura składowana Aby zmienić to zestaw, można zmienić maski koligacji tylko wtedy, gdy Pokaż opcje zaawansowane jest ustawiona na 1.Po wykonaniu Transact-SQL polecenia ponownej konfiguracji nowe ustawienie zostanie uwzględnione natychmiast bez konieczności ponownego uruchomienia SQL Server wystąpienie.

Niejednolity dostęp do pamięci (NUMA)

Kiedy za pomocą sprzętu oparta pamięci niejednolity dostęp (NUMA) i maski koligacji jest zestaw, każdy harmonogram w węźle będzie affinitized do własnego procesora CPU.Gdy maski koligacji nie jest zestaw, każdy harmonogram jest affinitized do grupy procesorów w węźle NUMA i harmonogram mapowane węzeł NUMA N1 można zaplanować pracę nad dowolnym Procesora w węźle, ale nie na procesorów skojarzonych z innego węzła.

Wszelkie działania uruchomiony na jednym węzeł NUMA można używać tylko bufor stron tego węzła.Podczas operacji jest równolegle na procesory z wielu węzłów, pamięć może być wykorzystana przez dowolny węzeł zaangażowanych.

Licencjonowania

Dynamic affinity is tightly constrained by CPU licensing.SQL Server does not allow any configuration of affinity mask options that violates the licensing policy.

Autostart

Jeśli określoną maską koligacji narusza zasady licencjonowania podczas SQL Server uruchamiania lub podczas bazy danych attach, warstwy silnika zakończy operację dołączyć przywracanie bazy danych lub proces uruchamiania i następnie spowoduje zresetowanie sp_configure uruchomić wartość maski koligacji zero, wydawania komunikat o błędzie SQL Server dziennik błędów.

Zmień konfigurację

Jeśli określoną maską koligacji narusza zasady licencjonowania podczas Transact-SQL polecenia ponownej konfiguracji komunikat o błędzie jest raportowany w sesja klient i SQL Server Dziennik błędów, wymagające administrator bazy danych ponownie skonfigurować maski koligacji.Polecenie Zmień konfigurację z zastąpić nie jest akceptowane w tym przypadek.