Zalecane aktualizacje i opcje konfiguracji dla programu SQL Server z obciążeniami o wysokiej wydajności
Ten artykuł zawiera listę ulepszeń wydajności i opcji konfiguracji, które są dostępne dla programu SQL Server 2012 i nowszych wersji.
Oryginalna wersja produktu: SQL Server 2014, SQL Server 2012
Oryginalny numer KB: 2964518
Stosowanie zalecanych aktualizacji i zwiększanie wydajności programów SQL Server 2014 i SQL Server 2012
W tym artykule opisano ulepszenia wydajności i zmiany dostępne dla programów SQL Server 2014 i SQL Server 2012 za pośrednictwem różnych opcji aktualizacji i konfiguracji produktów. Możesz rozważyć zastosowanie tych aktualizacji w celu zwiększenia wydajności wystąpienia programu SQL Server. Stopień poprawy, który zostanie wyświetlony, będzie zależeć od różnych czynników, które obejmują wzorzec obciążenia, punkty rywalizacji, układ procesora (liczba grup procesorów, gniazd, węzłów NUMA, rdzeni w węźle NUMA) i ilość pamięci obecnej w systemie. Zespół pomocy technicznej programu SQL Server użył tych aktualizacji i zmian konfiguracji, aby osiągnąć uzasadnione wzrosty wydajności obciążeń klientów, które używały systemów sprzętowych, które miały kilka węzłów NUMA i wiele procesorów. Zespół pomocy technicznej będzie nadal aktualizować ten artykuł wraz z innymi aktualizacjami w przyszłości.
Systemy wysokiej klasy System wysokiej klasy zwykle ma wiele gniazd, osiem rdzeni lub więcej na gniazdo, a pół terabajta lub więcej pamięci.
Uwaga 16.
W programie SQL Server 2016 i nowszych wersjach wiele flag śledzenia wymienionych w tym artykule jest zachowaniem domyślnym i nie trzeba ich włączać w tych wersjach.
Zalecenia są pogrupowane w trzy tabele w następujący sposób:
- Tabela 1 zawiera najczęściej zalecane aktualizacje i flagi śledzenia dotyczące skalowalności w systemach wysokiej klasy.
- Tabela 2 zawiera zalecenia i wskazówki dotyczące dodatkowego dostrajania wydajności.
- Tabela 3 zawiera dodatkowe poprawki skalowalności, które zostały uwzględnione razem z aktualizacją zbiorczą.
Tabela 1. Ważne aktualizacje i flagi śledzenia dla systemów wysokiej klasy
Przejrzyj poniższą tabelę i włącz flagi śledzenia w kolumnie Flaga śledzenia po upewnieniu się, że wystąpienie programu SQL Server spełnia wymagania w kolumnie Odpowiednia wersja i zakresy kompilacji .
Uwaga 16.
Odpowiednia wersja i kompilacja wskazują konkretną aktualizację, w której wprowadzono flagę zmiany lub śledzenia. Jeśli nie określono aktualizacji CU, wszystkie elementy CU w sp są uwzględniane.
Nie dotyczy wersja i kompilacja wskazują konkretną aktualizację, w której zmiana lub flaga śledzenia stała się zachowaniem domyślnym. W związku z tym zastosowanie tej aktualizacji wystarczy, aby uzyskać korzyści.
Ważne
Po włączeniu poprawek z flagami śledzenia w zawsze włączonych środowiskach należy pamiętać, że należy włączyć flagi naprawy i śledzenia na wszystkich replikach, które są częścią grupy dostępności.
Scenariusz i objawy, które należy wziąć pod uwagę | Flaga śledzenia | Odpowiednie zakresy wersji i kompilacji | Nie dotyczy wersji i zakresów kompilacji | Link do artykułu bazy wiedzy/bloga, który zawiera więcej szczegółów |
---|---|---|---|---|
|
T8048 |
|
|
|
|
T8079 | PROGRAM SQL Server 2014 SP2 do bieżącej wersji SP/CU |
|
|
|
T9024 | Zbiorczy pakiet aktualizacji 3 dla programu SQL Server 2012 z dodatkiem Service Pack 1 do programu SQL Server 2014 RTM |
|
POPRAWKA: Wysoka wartość licznika "oczekiwania zapisu dziennika" w wystąpieniu programu SQL Server 2012 lub SQL Server 2014 |
Twoje wystąpienie programu SQL Server obsługuje tysiące resetowania połączeń z powodu buforowania połączeń. | T1236 | Zbiorczy pakiet aktualizacji 9 dla programu SQL Server 2012 z dodatkiem Service Pack 1 do aktualizacji zbiorczej SP2 dla programu SQL Server 2014 |
|
|
|
T1118 |
|
|
Ulepszenia współbieżności bazy danych tempdb UWAGA Włącz flagę śledzenia i dodaj wiele plików danych dla bazy danych tempdb. |
|
T1117 |
|
|
Zalecenia, aby zmniejszyć rywalizację związaną z alokacją bazy danych tempdb w programie SQL Server |
Duże SOS_CACHESTORE rywalizacje o spinlock lub plany są często eksmitowane w obciążeniach zapytań ad hoc. |
T174 |
|
Brak |
|
|
T8032 |
|
Brak |
|
Istniejące statystyki nie są często aktualizowane ze względu na dużą liczbę wierszy w tabeli. | T2371 |
|
Brak | |
|
T7471 | SQL Server 2014 SP1 CU6 do bieżącej wersji SP/CU | Brak | Zwiększanie wydajności statystyk aktualizacji za pomocą programu SQL 2014 i SQL 2016 |
Polecenie CHECKDB zajmuje dużo czasu w przypadku dużych baz danych. |
|
|
Brak | |
Polecenie CHECKDB zajmuje dużo czasu w przypadku dużych baz danych. | T2566 |
|
Brak |
|
Wykonywanie współbieżnych zapytań magazynu danych, które długo kończą się oczekiwaniami w RESOURCE_SEMAPHORE_QUERY_COMPILE czasie kompilacji. |
T6498 | Zbiorczy pakiet aktualizacji 6 dla programu SQL Server 2014 do SP1 |
|
|
Rozwiązywanie określonych problemów z wydajnością zapytań Optymalizator poprawki są domyślnie wyłączone. | T4199 |
|
Brak | |
Wydajność jest niska przy użyciu operacji zapytań z typami danych przestrzennych. |
|
|
|
|
|
T8075 |
|
|
POPRAWKA: Błąd braku pamięci, gdy wirtualna przestrzeń adresowa procesu programu SQL Server jest niska w programie SQL Server |
|
T3449 |
|
|
POPRAWKA: tworzenie bazy danych programu SQL Server w systemie z dużą ilością pamięci trwa dłużej niż oczekiwano |
Tabela 2. Ogólne zagadnienia i najlepsze rozwiązania dotyczące poprawy wydajności wystąpienia programu SQL Server
Przejrzyj zawartość w kolumnie Zasób bazy wiedzy/Książki online i rozważ zaimplementowanie wskazówek w kolumnie Zalecane akcje.
Artykuł bazy wiedzy/Zasób online książek | Zalecane akcje |
---|---|
Konfigurowanie maksymalnego stopnia równoległości opcji konfiguracji serwera | Użyj procedury składowanej sp_configure, aby wprowadzić zmiany konfiguracji w celu skonfigurowania maksymalnego stopnia równoległości Opcji konfiguracji serwera dla wystąpienia programu SQL Server zgodnie z artykułem Bazy wiedzy. |
Limity pojemności obliczeniowej według wersji programu SQL Server | Wersja Enterprise Edition z licencją serwera i licencji dostępu klienta (CAL) jest ograniczona do 20 rdzeni na wystąpienie programu SQL Server. W modelu licencjonowania serwera opartego na rdzeniu nie ma żadnych ograniczeń. Rozważ uaktualnienie wersji programu SQL Server do odpowiedniej jednostki SKU w celu wykorzystania wszystkich zasobów sprzętowych. |
Niska wydajność w systemie Windows Server w przypadku korzystania z planu zasilania o zrównoważonym poziomie | Zapoznaj się z artykułem i skontaktuj się z administratorem systemu Windows, aby zaimplementować jedno z rozwiązań, które zostały zanotowane w sekcji "Rozwiązanie" artykułu. |
Ręcznie przypisz węzły NUMA do grup K. | |
Optymalizowanie pod kątem obciążeń ad hoc WYMUSZONA PARAMETRYZACJA | Wpisy w pamięci podręcznej planu są eksmitowane ze względu na wzrost w innych pamięciach podręcznych lub pamięci. Możesz również napotkać eksmisji pamięci podręcznej planu, gdy pamięć podręczna osiągnie maksymalną liczbę wpisów. Oprócz opisanej powyżej flagi śledzenia 8032 należy rozważyć opcję optymalizowania pod kątem obciążeń ad hoc, a także opcję bazy danych FORCED PARAMETERIZATION . |
Jak zmniejszyć stronicowanie pamięci puli w konfiguracji pamięci programu SQL Server i zagadnienia dotyczące ustalania rozmiaru w programie SQL Server 2012 i nowszych wersjach | Przypisz użytkownikowi Włącz strony blokady w opcji pamięci (Windows) prawo do konta uruchamiania usługi SQL. Zobacz Jak włączyć funkcję "zablokowanych stron" w programie SQL Server 2012. Ustaw maksymalną pamięć serwera na około 90 procent całkowitej pamięci fizycznej. Upewnij się, że opcje konfiguracji pamięci serwera ustawiają konta pamięci tylko z węzłów skonfigurowanych do używania ustawień maski koligacji. |
Sql Server i duże strony objaśnione... Opcje dostrajania dla programu SQL Server podczas uruchamiania w obciążeniach o wysokiej wydajności | Rozważ włączenie serwera TF 834, jeśli masz serwer z dużą ilością pamięci, szczególnie w przypadku obciążenia analitycznego lub magazynowania danych. Pamiętaj, że program TF 834 nie jest zalecany, jeśli używasz indeksów magazynu kolumn. |
Opis opcji "access check cache bucket count" i "access check cache quota", które są dostępne w sp_configure procedurze składowanej | Użyj opcji konfiguracji serwera kontroli dostępu, aby skonfigurować te wartości zgodnie z zaleceniami w bazie wiedzy. Zalecane wartości dla systemów wysokiej klasy są następujące: "liczba zasobników pamięci podręcznej sprawdzania dostępu": 256 "access check cache quota": 1024 |
ALTER WORKLOAD GROUP Memory grant query hints (ALTER WORKLOAD GROUP Memory grant query hints) | Jeśli masz wiele zapytań, które wyczerpały duże przydziały pamięci, zmniejsz request_max_memory_grant_percent domyślną grupę obciążeń w konfiguracji zarządcy zasobów z domyślnego 25 procent do niższej wartości. Dostępne są nowe opcje udzielania pamięci zapytania (min_grant_percent i max_grant_percent ) w programie SQL Server |
Natychmiastowe inicjowanie pliku | Skontaktuj się z administratorem systemu Windows, aby przyznać konto usługi PROGRAMU SQL Server użytkownikowi "Wykonywanie zadań konserwacji woluminów" bezpośrednio zgodnie z informacjami w temacie Książki online. |
Zagadnienia dotyczące ustawień "autogrow" i "autoshrink" w programie SQL Server | Sprawdź bieżące ustawienia bazy danych i upewnij się, że są one skonfigurowane zgodnie z zaleceniami w artykule Bazy wiedzy. |
Punkty kontrolne bazy danych (SQL Server) | Rozważ włączenie pośrednich punktów kontrolnych w bazach danych użytkowników w celu zoptymalizowania zachowania we/wy w programie SQL Server 2012 i 2014. |
POPRAWKA: Powolna synchronizacja, gdy dyski mają różne rozmiary sektorów dla plików dziennika podstawowej i pomocniczej repliki w grupie dostępności programu SQL Server i środowiskach logshipping | Jeśli masz grupę dostępności, w której dziennik transakcji w repliki podstawowej znajduje się na dysku o rozmiarze sektora 512 bajtów, a dziennik transakcji repliki pomocniczej znajduje się na dysku o rozmiarze sektora 4K, może wystąpić problem polegający na tym, że synchronizacja działa wolno. W takich przypadkach włączenie serwera TF 1800 powinno rozwiązać problem. Aby uzyskać więcej informacji, zobacz Trace Flaga 1800. |
Jeśli program SQL Server nie jest jeszcze powiązany z procesorem, a obciążenie 1,5% do 2% jest niewielkie dla obciążeń, zalecamy włączenie serwera TF 7412 jako flagi śledzenia uruchamiania. Ta flaga umożliwia uproszczone profilowanie w programie SQL Server 2014 z dodatkiem SP2 lub nowszym, co umożliwi rozwiązywanie problemów z zapytaniami na żywo w środowiskach produkcyjnych. |
Tabela 3. Poprawki wydajności uwzględnione w aktualizacji zbiorczej
Przejrzyj opis w kolumnie Objawy i zastosuj wymagane aktualizacje w kolumnie Wymagana aktualizacja w odpowiednich środowiskach. Aby uzyskać więcej informacji na temat odpowiednich problemów, zapoznaj się z artykułem Bazy wiedzy. Te zalecenia nie wymagają włączenia dodatkowych flag śledzenia jako parametrów uruchamiania. Wystarczy zastosować najnowszą aktualizację zbiorczą lub dodatek Service Pack, który zawiera te poprawki, aby uzyskać korzyść.
Uwaga 16.
Nazwa aktualizacji cu w kolumnie Wymagana aktualizacja zawiera pierwszą zbiorczą aktualizację programu SQL Server, która rozwiązuje ten problem. Zbiorcza aktualizacja zawiera wszystkie poprawki i wszystkie aktualizacje dołączone do poprzedniej wersji aktualizacji programu SQL Server. W związku z tym zalecamy zainstalowanie najnowszej aktualizacji zbiorczej w celu rozwiązania problemów.
Ważne uwagi
Jeśli wszystkie warunki w tabeli 1 mają zastosowanie do Ciebie:
- Wskazówki dotyczące programu SQL Server 2014: Zastosuj co najmniej aktualizację zbiorczą 1 dla programu SQL Server 2014 dla wersji RTM i dodaj ciąg "-T8048 -T9024 -T1236 -T1117 -T1118" do listy parametrów uruchamiania programu SQL Server.
- Wskazówki dotyczące programu SQL Server 2012: Stosowanie dodatku SP2 i dodawanie "-T8048 -T9024 -T1236 -T1117 -T1118" do listy parametrów uruchamiania programu SQL Server.
Aby uzyskać ogólne informacje na temat używania flag śledzenia, zapoznaj się z tematem DBCC TRACEON — Trace Flags (Transact-SQL) w artykułach SQL Server Books Online.
Więcej informacji na temat liczby procesorów, konfiguracji NUMA itd. można znaleźć w dzienniku wyświetleń dziennika błędów programu SQL Server w programie SQL Server Management Studio (SSMS).
Aby znaleźć wersję programu SQL Server, sprawdź następujące kwestie:
Jak określić wersję i wydanie programu SQL Server oraz jego składników
Informacje
Jak uzyskać najnowszy dodatek Service Pack dla programu SQL Server 2012
Gdzie można znaleźć informacje o najnowszych kompilacjach programu SQL Server
Zasoby społeczności programu SQL Server dotyczące ważnych aktualizacji programu SQL Server
Dotyczy
- SQL Server 2014 Enterprise
- SQL Server 2014 Enterprise Core
- SQL Server 2014 Business Intelligence
- SQL Server 2014 Developer
- SQL Server 2014 Standard
- SQL Server 2014 Web
- SQL Server 2014 Express
- SQL Server 2012 Business Intelligence
- SQL Server 2012 Developer
- SQL Server 2012 Enterprise
- SQL Server 2012 Standard
- SQL Server 2012 Web
- SQL Server 2012 Enterprise Core