Zalecane aktualizacje i opcje konfiguracji dla SQL Server z obciążeniami o wysokiej wydajności
Ten artykuł zawiera listę ulepszeń wydajności i opcji konfiguracji dostępnych dla wersji SQL Server 2012 i nowszych.
Oryginalna wersja produktu: SQL Server 2014, SQL Server 2012
Oryginalny numer KB: 2964518
Stosowanie zalecanych aktualizacji i zwiększanie wydajności SQL Server 2014 r. i SQL Server 2012 r.
W tym artykule opisano ulepszenia wydajności i zmiany dostępne dla wersji SQL Server 2014 i SQL Server 2012 za pośrednictwem różnych aktualizacji produktów i opcji konfiguracji. Możesz rozważyć zastosowanie tych aktualizacji w celu zwiększenia wydajności wystąpienia SQL Server. Stopień poprawy zależy od różnych czynników, które obejmują wzorzec obciążenia, punkty rywalizacji, układ procesora (liczba grup procesorów, gniazda, węzły NUMA, rdzenie w węźle NUMA) i ilość pamięci obecnej w systemie. SQL Server zespół pomocy technicznej wykorzystał te aktualizacje i zmiany konfiguracji, aby osiągnąć rozsądny wzrost wydajności dla obciążeń klientów, którzy korzystali z 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ł o inne aktualizacje w przyszłości.
Systemy wysokiej klasy System wysokiej klasy zwykle ma wiele gniazd, osiem rdzeni lub więcej na gniazdo i pół terabajta lub więcej pamięci.
Uwaga
W SQL Server 2016 r. 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 dla 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 dołączone wraz 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 SQL Server spełnia wymagania w kolumnie Odpowiednie zakresy wersji i kompilacji.
Uwaga
Odpowiednia wersja i kompilacja wskazują konkretną aktualizację, w której wprowadzono flagę zmiany lub śledzenia. Jeśli nie określono cu, wszystkie cu w sp są dołączone.
Nie dotyczy wersji i kompilacji wskazuje określoną aktualizację, w której zmiana lub śledzenia flaga stała się zachowaniem domyślnym. Dlatego samo zastosowanie tej aktualizacji wystarczy, aby uzyskać korzyści.
Ważna
Po włączeniu poprawek z flagami śledzenia w środowiskach zawsze włączonych należy włączyć flagi poprawek i śledzenia na wszystkich replikach należących do grupy dostępności.
Scenariusz i objaw do rozważenia | Flaga śledzenia | Odpowiednie zakresy wersji i kompilacji | Nie dotyczy wersji i zakresów kompilacji | Link do artykułu/bloga w bazie wiedzy, który zawiera więcej szczegółów |
---|---|---|---|---|
|
T8048 |
|
|
|
|
T8079 | SQL Server 2014 z dodatkiem SP2 do bieżącej wersji SP/CU |
|
|
|
T9024 | Pakiet aktualizacji zbiorczej 3 dla SQL Server 2012 z dodatkiem Service Pack 1 do SP2 SQL Server 2014 RTM |
|
POPRAWKA: Wysoka wartość licznika "oczekiwanie na zapis dziennika" w wystąpieniu SQL Server 2012 lub SQL Server 2014 r. |
Twoje wystąpienie SQL Server obsługuje tysiące resetów połączeń z powodu buforowania połączeń. | T1236 | Zbiorczy pakiet aktualizacji 9 dla SQL Server 2012 z dodatkiem Service Pack 1 do SP2 — aktualizacja zbiorcza 1 dla SQL Server 2014 r. |
|
|
|
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 dotyczące zmniejszenia rywalizacji o alokację w bazie danych SQL Server tempdb |
Duża SOS_CACHESTORE rywalizacja 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 to current SP/CU | Brak | Zwiększanie wydajności statystyk aktualizacji za pomocą programu SQL 2014 & SQL 2016 |
Polecenie CHECKDB zajmuje dużo czasu dla dużych baz danych. |
|
|
Brak | |
Polecenie CHECKDB zajmuje dużo czasu dla dużych baz danych. | T2566 |
|
Brak |
|
Wykonywanie współbieżnych zapytań magazynu danych, które zajmują dużo czasu kompilacji, powoduje RESOURCE_SEMAPHORE_QUERY_COMPILE oczekiwanie. |
T6498 | Pakiet aktualizacji zbiorczej 6 dla SQL Server 2014 do SP1 |
|
|
Rozwiązujesz problemy z wydajnością określonych zapytań Poprawki optymalizatora są domyślnie wyłączone. | T4199 |
|
Brak | |
Niska wydajność przy użyciu operacji zapytań z typami danych przestrzennych. |
|
|
|
|
|
T8075 |
|
|
POPRAWKA: Błąd braku pamięci, gdy wirtualna przestrzeń adresowa procesu SQL Server jest niska w SQL Server |
|
T3449 |
|
|
POPRAWKA: SQL Server tworzenie bazy danych 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 SQL Server
Przejrzyj zawartość artykułu bazy wiedzy/kolumny Zasoby online książek i rozważ zaimplementowanie wskazówek w kolumnie Zalecane akcje.
Zasób usługi Knowledge Base /Books Online | Zalecane akcje |
---|---|
Konfigurowanie maksymalnego stopnia opcji konfiguracji serwera równoległości | Użyj procedury składowanej sp_configure, aby wprowadzić zmiany konfiguracji, aby skonfigurować maksymalny stopień opcji konfiguracji serwera równoległości dla wystąpienia SQL Server zgodnie z artykułem Bazy wiedzy. |
Limity pojemności obliczeniowej według wersji SQL Server | Enterprise Edition z licencją serwera i licencji dostępu klienta (CAL) jest ograniczona do 20 rdzeni na wystąpienie SQL Server. W modelu licencjonowania serwera opartego na rdzeniach nie ma żadnych limitów. Rozważ uaktualnienie wersji SQL Server do odpowiedniej jednostki SKU w celu wykorzystania wszystkich zasobów sprzętowych. |
Niska wydajność w systemie Windows Server w przypadku korzystania z "zrównoważonego" planu zasilania | Zapoznaj się z artykułem i skontaktuj się z administratorem systemu Windows, aby zaimplementować jedno z rozwiązań zanotowane w sekcji "Rozwiązanie" artykułu. |
Ręcznie przypisz węzły NUMA do grup K. | |
Optymalizacja pod kątem obciążeń ad hocFORCED PARAMETERIZATION | Wpisy w pamięci podręcznej planu są eksmitowane z powodu wzrostu liczby innych pamięci podręcznych lub urzędników pamięci. Może również wystąpić eksmisja pamięci podręcznej planu, gdy pamięć podręczna osiągnie maksymalną liczbę wpisów. Oprócz flagi śledzenia 8032 omówionych powyżej rozważ opcję optymalizacji dla serwera obciążeń ad hoc , a także opcję bazy danych FORCED PARAMETERIZATION . |
Jak zmniejszyć stronicowanie pamięci puli buforów w konfiguracji SQL ServerMemory i zagadnienia dotyczące ustalania rozmiaru w wersjach SQL Server 2012 i nowszych | Przypisz prawo użytkownika Włącz strony blokady w opcji pamięci (Windows) do konta uruchamiania usługi SQL. Zobacz Jak włączyć funkcję "zablokowanych stron" w SQL Server 2012 roku. Ustaw maksymalną ilość pamięci serwera na około 90 procent całkowitej pamięci fizycznej. Upewnij się, że ustawienie opcji konfiguracji pamięci serwera konta pamięci tylko z węzłów, które są skonfigurowane do korzystania z ustawień maski koligacji. |
SQL Server i duże strony — objaśnienie...Opcje dostrajania dla 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 "Liczba zasobników pamięci podręcznej sprawdzania dostępu" i "sprawdzanie dostępu do pamięci podręcznej" dostępne w procedurze składowanej sp_configure | Użyj opcji konfiguracji serwera pamięci podręcznej sprawdzania dostępu , aby skonfigurować te wartości zgodnie z zaleceniami w artykule Bazy wiedzy. Zalecane wartości dla systemów wysokiej klasy są następujące: "Liczba zasobników pamięci podręcznej sprawdzania dostępu": 256 "Limit przydziału pamięci podręcznej sprawdzania dostępu": 1024 |
Alter WORKLOAD GROUPMemory grant query hints (Wskazówki dotyczące udzielania zapytań przez grupę obciążeń ALTER) | Jeśli masz wiele zapytań, które wyczerpują duże dotacje na pamięć, zmniejsz request_max_memory_grant_percent domyślną grupę obciążeń w konfiguracji zarządcy zasobów z domyślnej wartości 25% do niższej. Dostępne są nowe opcje udzielania pamięci zapytań (min_grant_percent i max_grant_percent ) w SQL Server |
Błyskawiczne inicjowanie pliku | Skontaktuj się z administratorem systemu Windows, aby udzielić kontu usługi SQL Server prawa użytkownika "Wykonywanie zadań konserwacji woluminów" zgodnie z informacjami w temacie Książki online. |
Zagadnienia dotyczące ustawień "autogrow" i "autoshrink" w SQL Server | Sprawdź bieżące ustawienia bazy danych i upewnij się, że zostały 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 operacji we/wy w SQL Server 2012 i 2014 roku. |
POPRAWKA: Powolna synchronizacja, gdy dyski mają różne rozmiary sektorów dla plików dziennika repliki podstawowej i pomocniczej w środowiskach grupy dostępności SQL Server i logshipping | Jeśli masz grupę dostępności, w której dziennik transakcji w replice 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 powolnym synchronizowaniu. W takich przypadkach włączenie serwera TF 1800 powinno rozwiązać problem. Aby uzyskać więcej informacji, zobacz Trace Flag 1800.For more information, see Trace Flag 1800 (Flaga śledzenia 1800). |
Jeśli SQL Server nie jest jeszcze powiązana z procesorem CPU, a obciążenie od 1,5% do 2% jest znikome dla obciążeń, zalecamy włączenie serwera TF 7412 jako flagi śledzenia uruchamiania. Ta flaga umożliwia uproszczone profilowanie w 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, możesz zapoznać 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 zawierający te poprawki, aby uzyskać korzyść.
Uwaga
Nazwa CU w kolumnie Wymagana aktualizacja zawiera pierwszą zbiorczą aktualizację SQL Server, która rozwiązuje ten problem. Aktualizacja zbiorcza zawiera wszystkie poprawki i wszystkie aktualizacje dołączone do poprzedniej wersji SQL Server aktualizacji. 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 SQL Server 2014 r.: Zastosuj co najmniej aktualizację zbiorczą 1 dla SQL Server 2014 r. dla rtm i dodaj ciąg "-T8048 -T9024 -T1236 -T1117 -T1118" do SQL Server listy parametrów uruchamiania.
- Wskazówki dotyczące SQL Server 2012 r.: Zastosuj sp2 i dodaj ciąg "-T8048 -T9024 -T1236 -T1117 -T1118" do SQL Server listy parametrów uruchamiania.
Aby uzyskać ogólne informacje na temat używania flag śledzenia, zapoznaj się z tematem DBCC TRACEON — Trace Flags (Transact-SQL) w temacie SQL Server Books Online.
Więcej informacji na temat liczby procesorów, konfiguracji NUMA itd. można znaleźć w widoku dziennika błędów SQL Server w SQL Server Management Studio (SSMS).
Aby znaleźć wersję SQL Server, sprawdź następujące kwestie:
Informacje
Jak uzyskać najnowszy dodatek Service Pack dla SQL Server 2012 r.
Gdzie znaleźć informacje o najnowszych kompilacjach SQL Server
SQL Server zasoby społeczności dotyczące ważnych aktualizacji SQL Server
Informacje zawarte w tym artykule dotyczą
- SQL Server 2014 Enterprise
- SQL Server 2014 Enterprise Core
- SQL Server 2014 Business Intelligence
- deweloper SQL Server 2014
- 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
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla