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.
W tym artykule opisano listę ulepszeń wydajności i opcji konfiguracji dostępnych dla programów SQL Server 2017 i SQL Server 2016.
Oryginalna wersja produktu: SQL Server 2017, SQL Server 2016
Oryginalny numer KB: 4465518
Wprowadzenie
W tym artykule opisano ulepszenia wydajności i zmiany dostępne dla programów Microsoft SQL Server 2017 i SQL Server 2016 za pośrednictwem różnych aktualizacji produktów i opcji konfiguracji.
Zalecamy rozważenie zastosowania tych aktualizacji w celu zwiększenia wydajności instancji SQL Server. Stopień poprawy zależy od różnych czynników, w tym wzorca obciążenia, punktów rywalizacji, układu procesora (liczby grup procesorów, gniazd, węzłów NUMA i rdzeni w węźle NUMA) oraz ilości dostępnej pamięci w systemie.
Zespół pomocy technicznej programu SQL Server użył tych aktualizacji i zmian konfiguracji w celu osiągnięcia rozsądnych wzrostów wydajności dla obciążeń klientów korzystających z systemów sprzętowych, które obejmował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.
Definicja: 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.
Zastosuj zalecane aktualizacje i zwiększ wydajność SQL Server
Te zalecenia dotyczące poprawy wydajności SQL Server 2017 i SQL Server 2016 są pogrupowane w pięć tabel 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 dalszego dostrajania wydajności.
- Tabela 3 zawiera informacje o zmianach zachowania i ustawieniach domyślnych w programie SQL Server 2017 i 2016.
- Tabela 4 zawiera inne poprawki skalowalności, które zostały uwzględnione razem z aktualizacją zbiorczą (CU).
- Tabela 5 zawiera zalecane poprawki i wytyczne dotyczące konfiguracji dla wystąpień programu SQL Server wdrożonych w środowisku systemu Linux.
Uwaga
Aby uzyskać dodatkowy kontekst, zobacz Często używane parametry do dostrajania obciążonego serwera SQL Server.
Ważne
Jeśli włączono flagi śledzenia, sprawdź informacje zawarte w tym artykule po uruchomieniu migracji do programu SQL Server 2017 lub SQL Server 2016. Wiele flag śledzenia i opcji konfiguracji wymienionych w tym artykule stało się opcjami domyślnymi w programach SQL Server 2017 i SQL Server 2016.
Tabela 1. Ważne aktualizacje i flagi śladowe 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 Obowiązująca wersja i zakresy kompilacji.
Uwaga
- Obowiązująca wersja i kompilacja wskazują konkretną aktualizację, w której wprowadzono zmianę lub flagę śledzenia. Jeśli nie określono CU, wszystkie CU w SP są uwzględniane.
- Nie dotyczy: wersja i kompilacja wskazuje konkretną aktualizację, w której zmiana lub flaga śledzenia stała się zachowaniem domyślnym. W związku z tym zastosowanie tej aktualizacji wystarczy do otrzymania korzyści.
Ważne
Po włączeniu poprawek, które mają flagi śledzenia w środowiskach Always On, należy pamiętać, że należy włączyć poprawkę i flagi śledzenia na wszystkich replikach, które są częścią grupy dostępności.
| Scenariusz i objaw, które należy wziąć pod uwagę | flaga trace | Odpowiednie zakresy wersji i kompilacji | Nieobsługiwane zakresy wersji i kompilacji | Artykuł bazy wiedzy lub link do bloga, aby uzyskać więcej szczegółów |
|---|---|---|---|---|
| Duża rywalizacja o spinlock SOS_CACHESTORE lub Twoje plany są często usuwane w obciążeniach zapytań ad hoc. | T174 | SQL Server 2016 RTM do bieżącej wersji SP/CU SQL Server 2017 RTM do bieżącej wersji SP/CU | Brak | KB3026083 — FIX: rywalizacja o blokadę spinlock SOS_CACHESTORE w pamięci podręcznej planów ad hoc programu SQL Server powoduje wysokie użycie procesora CPU w programie SQL Server |
| Wpisy w pamięci podręcznej planu są eksmitowane ze względu na wzrost w innych pamięciach podręcznych lub clerks pamięci. Wysokie użycie procesora CPU z powodu częstych ponownych kompilacji zapytań. | T8032 | SQL Server 2016 RTM do bieżącej wersji SP/CU SQL Server 2017 RTM do bieżącej wersji SP/CU | Brak | Dokumentacja funkcji DBCC TRACEON — flagi śledzenia (Transact-SQL). Zobacz sekcję Zarządzanie rozmiarem pamięci podręcznej w temacie Wewnętrzne mechanizmy pamięci podręcznej planu. |
| baza danych tempdb jest intensywnie używana i ma wiele modyfikacji danych w bazie danych tempdb. Podczas korzystania z pośredniego punktu kontrolnego dla bazy danych tempdb występują komunikaty o niewywiązującym się harmonogramie. | T3468 | SQL Server 2016 z dodatkiem SP1 CU5 do bieżącego dodatku SP/CU SQL Server 2017 CU1 do bieżącego dodatku SP/CU | Brak | Pośredni punkt kontrolny i baza danych tempdb — dobry, zły i harmonogram nieoddający czasu procesoraKB4040276 — POPRAWKA: Pośrednie punkty kontrolne w bazie danych tempdb powodują błąd „Harmonogram nieoddający czasu procesora” w programach SQL Server 2016 i 2017 |
| Częste krótkie transakcje występują w bazie danych tempdb. Zauważysz zwiększone użycie procesora CPU dla tych transakcji, gdy Common Criteria Compliance nie jest włączone | T3427 | SQL Server 2016 SP1 CU2 do programu SQL Server 2016 SP2 CU2 | SQL Server 2017 RTM | KB3216543 — POPRAWKA: Obciążenia korzystające z wielu częstych, krótkich transakcji w programie SQL Server 2016 i 2017 mogą zużywać więcej procesora CPU niż w programie SQL Server 2014 |
| Rozwiązujesz konkretne problemy z wydajnością zapytań. Poprawki optymalizatora są domyślnie wyłączone. |
T4199 | SQL Server 2016 RTM do bieżącej wersji SP/CU SQL Server 2017 RTM do bieżącej wersji SP/CU | Brak |
KB974006 — model obsługi flagi śledzenia poprawki optymalizatora zapytań programu SQL Server 4199 Uwaga Zamiast flagi śledzenia na poziomie serwera 4199 rozważ użycie opcji o zakresie bazy danych QUERY_OPTIMIZER_HOTFIXES lub wskazówki zapytania ENABLE_QUERY_OPTIMIZER_HOTFIXES. |
| Ukończenie zadań generowania statystyk trwa długo. Nie można uruchomić wielu zadań aktualizacji statystyk równolegle. | T7471 | SQL Server 2016 RTM CU1 do bieżącej wersji SP/CU SQL Server 2017 RTM do bieżącej wersji SP/CU | Brak |
KB3156157 — jednoczesne uruchamianie wielu poleceń UPDATE STATISTICS dla różnych statystyk w jednej tabeli jest dostępne Zwiększanie wydajności funkcji Update Statistics za pomocą programu SQL 2014 i SQL 2016 |
Tabela 2. Ogólne zagadnienia i najlepsze rozwiązania dotyczące poprawy wydajności instancji programu SQL Server
Przejrzyj zawartość w kolumnie artykuł bazy wiedzy lub zasób Books Online i rozważ wdrożenie wskazówek w kolumnie Zalecane działania.
| Artykuł z bazy wiedzy lub zasób Books Online | Zalecane działania |
|---|---|
| Konfigurowanie opcji konfiguracji serwera „maksymalny stopień równoległości” |
sp_configure Użyj procedury składowanej, aby wprowadzić zmiany konfiguracji w celu Konfigurowanie opcji konfiguracji serwera maksymalnego stopnia równoległości dla wystąpienia programu SQL Server zgodnie z artykułem Bazy wiedzy. |
| Limity pojemności obliczeniowej według edycji Ograniczenie liczby rdzeni w licencji dla programu SQL Server 2012 | Wersja Enterprise Edition z licencjonowaniem typu Server/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 odpowiedniego wariantu SKU, aby korzystać ze 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 współpracuj z administratorem systemu Windows, aby zaimplementować jedno z rozwiązań wymienionych w sekcji Rozwiązanie. |
|
optymalizowanie pod kątem obciążeń ad hoc Opcja konfiguracji serwera WYMUSZONA PARAMETRYZACJA |
Wpisy w pamięci podręcznej planu są usuwane ze względu na wzrost w innych pamięciach podręcznych lub klerkach pamięci. Możesz również napotkać sytuację, w której dochodzi do usuwania wpisów z pamięci podręcznej planów, gdy pamięć podręczna osiągnie maksymalną liczbę wpisów. Oprócz opisanej powyżej flagi śledzenia 8032 należy rozważyć opcję serwera optimize for ad hoc workloads, a także opcję bazy danych FORCED PARAMETERIZATION. |
|
Jak zmniejszyć stronicowanie pamięci puli buforów w programie SQL Server Zagadnienia dotyczące konfiguracji i określania rozmiaru pamięci w programie SQL Server 2012 i nowszych wersjach |
Przypisz prawo użytkownika blokowania stron w pamięci (Windows) do konta uruchamiania usługi SQL. Ustaw maksymalną pamięć serwera na około 90 procent całkowitej pamięci fizycznej. Upewnij się, że ustawienie Opcje konfiguracji pamięci serwera uwzględnia pamięć tylko z węzłów skonfigurowanych do używania ustawień maski koligacji. |
| SQL Server i Large Pages objaśnione... | Rozważ włączenie flagi śledzenia 834 , jeśli masz serwer z dużą ilością pamięci, szczególnie w przypadku obciążenia analitycznego lub magazynowania danych. Należy pamiętać o współdziałaniu indeksów magazynu kolumnowego z dużym modelem pamięci stron w programie SQL Server. |
|
Problemy z wydajnością zapytań związane z dużą pamięcią podręczną zabezpieczeń Wykonywanie zapytań trwa dłużej, gdy rozmiar pamięci podręcznej TokenAndPermUserStore rośnie w programie SQL Server DBCC TRACEON - flagi śledzenia (Transact-SQL) |
Jeśli pamięć podręczna zabezpieczeń wzrośnie do dużego rozmiaru i wystąpią problemy z wydajnością oraz rywalizacja na spinlocku, rozważ włączenie flag śledzenia T4610 i T4618, aby zmniejszyć maksymalny rozmiar TokenAndPermuserStore. |
| ALTER WORKLOAD GROUPKB3107401 — dostępne są nowe opcje przydzielania pamięci dla zapytań (min_grant_percent i max_grant_percent) w programie SQL Server 2012 | Jeśli masz wiele zapytań, które wykorzystują duże przydziały pamięci, zmniejsz wartość request_max_memory_grant_percent dla domyślnej grupy obciążeń w konfiguracji zarządcy zasobów z domyślnych 25 procent do niższej wartości. Dostępne są nowe opcje przydziału pamięci dla zapytań (min_grant_percent i max_grant_percent) w programie SQL Server. |
| SQL 2016 — działa po prostu szybciej: automatyczna konfiguracja TEMPDB | Dodaj wiele plików danych o równym rozmiarze dla bazy danych tempdb, jeśli jest to uaktualniony serwer. W przypadku nowych instalacji instalator automatycznie to robi. |
| TEMPDB — pliki i flagi śledzenia oraz aktualizacje | Użyj optymalizacji bazy danych tempdb i zwiększ skalowalność, unikając lub ograniczając operacje DDL na obiektach tymczasowych. |
| Natychmiastowe inicjowanie pliku | Współpracuj z administratorem systemu Windows, aby przyznać kontu usługi PROGRAMU SQL Server uprawnienia użytkownika Wykonywanie zadań konserwacji woluminów 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 zostały skonfigurowane zgodnie z zaleceniami w artykule Bazy wiedzy. |
| Pośrednie punkty kontrolne | Rozważ włączenie pośrednich punktów kontrolnych w bazach danych użytkowników w celu zoptymalizowania zachowania we/wy w programie SQL Server 2014 i 2012. |
| SQL Server: duża pamięć RAM i punkty kontrolne bazy danych | Rozważ włączenie pośrednich punktów kontrolnych w bazach danych użytkowników w celu zoptymalizowania zachowania we/wy w programie SQL Server 2014 i 2012. Przejrzyj wymagane korekty bazy danych tempdb w artykule Indirect Checkpoint i tempdb — dobry, zły i niewyłączający się planista. |
| KB3009974 — FIX: powolna synchronizacja, gdy dyski mają różne rozmiary sektorów dla plików dziennika repliki podstawowej i pomocniczej w środowiskach grup dostępności programu SQL Server i wysyłania dzienników | Jeśli masz grupę dostępności, w której dziennik transakcji repliki podstawowej znajduje się na dysku, który ma rozmiar sektora 512 bajtów, a dziennik transakcji repliki pomocniczej znajduje się na dysku, który ma rozmiar sektora 4-K, może wystąpić powolna synchronizacja. W takiej sytuacji włączenie TF 1800 powinno rozwiązać problem. Aby uzyskać więcej informacji, zobacz Trace Flag 1800. |
|
Infrastruktura profilowania zapytań KB3170113 - aktualizacja udostępniająca statystyki wykonywania zapytań dla poszczególnych operatorów w Showplan XML i zdarzeniu rozszerzonym w SQL Server 2014 SP2 |
Jeśli program SQL Server nie jest jeszcze ograniczony wydajnością CPU, a narzut 1,5% do 2% jest niewielki dla obciążeń, zalecamy włączenie TF 7412 jako flagi śledzenia ustawianej podczas uruchamiania. Ta flaga umożliwia lekkie profilowanie w SQL Server 2014 SP2 lub nowszym. Dzięki temu można rozwiązywać problemy z zapytaniami na żywo w środowiskach produkcyjnych. |
| Identyfikowanie regresji wyboru planu przy użyciu Magazynu zapytańAktywuj najlepszy plan zapytania | Użyj funkcji Query Store, aby zidentyfikować zapytania, które ulegają pogorszeniu lub działają źle. Jeśli występują problemy z wydajnością zapytań z powodu szacowania kardynalności, wybierz odpowiednią wersję CE: opcję o zakresie bazy danych LEGACY_CARDINALITY_ESTIMATION, wskazówkę dotyczącą zapytania LEGACY_CARDINALITY_ESTIMATION, poziom zgodności bazy danych lub flagę śledzenia 9481. |
| Założenie dotyczące sprzężenia w narzędziu New Cardinality Estimator obniża wydajność zapytań | Oceń zapytania używające złączeń i filtrów, aby zrozumieć wpływ prostego zawierania i zawierania bazowego. Użyj flagi trace 9476 do prostego zawierania zamiast zawierania podstawowego, gdy używasz domyślnego narzędzia do szacowania kardynalności. |
| Ulepszenia poziomu zgodności 130Ulepszenia na poziomie zgodności 140 | Użyj poziomu zgodności bazy danych 130 lub nowszego, aby skorzystać z następujących ulepszeń: Użyj poziomu zgodności bazy danych 140 lub nowszego, aby skorzystać z następujących ulepszeń: |
| Najlepsze praktyki z Query Store | Ustaw tryb przechwytywania na Automatyczny Włącz flagi śledzenia 7745 i 7752, aby zwiększyć wydajność Query Store w scenariuszach wysokiej dostępności i odzyskiwania po awarii (HADR). Zastosuj poprawkę w KB4340759 — POPRAWKA: Niska wydajność programu SQL Server 2016, gdy Query Store jest włączony, jeśli występuje rywalizacja o spinlock Query Store w przypadku dużych obciążeń. |
| SQL Server 2016/2017: Model i wydajność ponownego wykonywania dla repliki pomocniczej w grupie dostępności | Jeśli występuje zbyt wiele oczekiwań (PARALLEL_REDO_TRAN_TURN, DPT_ENTRY_LOCK, lub DIRTY_PAGE_TABLE_LOCK), zapoznaj się z tym wpisem na blogu, aby wykonać działania naprawcze (zastosuj odpowiednią poprawkę, oceń odpowiednie użycie modelu ponownego wykonania). |
|
KB2634571 — ulepszenia polecenia DBCC CHECKDB mogą spowodować szybszą wydajność podczas korzystania z opcji PHYSICAL_ONLY DBCC TRACEON — flagi śledzenia Szybszy CHECKDB — część IV (SQL CLR UDTs) |
Jeśli uruchamiasz polecenia DBCC CHECK w dużych bazach danych (o rozmiarze wielu TB), rozważ użycie flag śledzenia T2562, T2549 i T2566. W programie SQL Server 2016 znajduje się teraz kilka kontroli w ramach opcji EXTENDED_LOGICAL_CHECK. |
| Ochrona programu SQL Server przed atakami wykorzystującymi luki kanału bocznego Spectre i Meltdown | Dokładnie oceń wydajność cieniowania wirtualnych adresów jądra (KVAS), pośredniczenia tablic stron jądra (KPTI) i mechanizmu ograniczania ryzyka przewidywania pośrednich skoków (IBP) na różnych obciążeniach programu SQL Server w danym środowisku. |
Tabela 3. Ważne zmiany wprowadzone w programach SQL Server 2017 i SQL Server 2016
Programy SQL Server 2017 i SQL Server 2016 zawierają kilka ulepszeń w obszarach skalowalności i wydajności. Różne zmiany konfiguracji i flagi śledzenia, które były wymagane w wersjach SQL Server 2014 i SQL Server 2012, stały się ustawieniem domyślnym w wersjach SQL Server 2017 i SQL Server 2016. Ta tabela zawiera omówienie wszystkich zmian implementowanych w programach SQL Server 2017 i SQL Server 2016.
| Obszar | Podsumowanie zmiany | Więcej informacji i odwołań |
|---|---|---|
| silnik SQL | Często używane flagi śledzenia, które są wycofane lub nie są już potrzebne w programie SQL Server 2016 i nowszych wersjach programu SQL Server: 8048, 8079, 9024, 1236, 1118, 1117, 6498, 8075, 3449, 6532, 6533, 6534. | Flagi śledzenia SQL Server |
| Silnik bazy danych | Co nowego w aparacie baz danych — SQL Server 2017 | |
| Silnik bazy danych | Zmiany niezgodne wstecz w funkcjach aparatu bazy danych w programie SQL Server 2016 | |
| Silnik bazy danych | Zmiany powodujące niezgodność w funkcjach aparatu bazy danych w programie SQL Server 2017 | |
| Konwersje typów danych w przetwarzaniu zapytań | Program SQL Server 2016 (13.x) zawiera ulepszenia konwersji niektórych typów danych oraz niektórych operacji (w większości nietypowych). | Aby uzyskać więcej informacji, zobacz temat Ulepszenia programu SQL Server 2016 dotyczące obsługi niektórych typów danych i nietypowych operacji. |
| Grupa dostępności | W przypadku pomocniczej bazy danych inicjalizacja automatycznego obsiewania używa punktów końcowych dublowania kopii bazy danych do przesyłania strumieniowego zawartości bazy danych do pomocniczej bazy danych i zastosowania jej. | SQLSweet16!, Odcinek 2: automatyczne inicjowanie grup dostępności |
| Grupa dostępności | Program SQL Server 2016 używa mniej przełączników kontekstowych podczas transportu bloków dziennika z podstawowej do wtórnej. | SQL 2016 — po prostu działa szybciej: Always On — transport dziennika transakcji ze zmniejszoną liczbą przełączeń kontekstuSQL Server 2016 — po prostu działa szybciej: grupy dostępności Always On przyspieszone |
| Grupa dostępności | Program SQL Server 2016 używa ulepszonych algorytmów kompresji i równoległej kompresji danych bloków dziennika transakcji. | SQL 2016 - po prostu działa szybciej: kompresja równoległa Always On / ulepszone algorytmy |
| Grupa dostępności | Program SQL Server 2016 korzysta ze sprzętu opartego na funkcjach szyfrowania AES-NI, aby zwiększyć skalowalność i wydajność transportu dzienników Always On w znacznym stopniu. | SQL 2016 — po prostu działa szybciej — zawsze włączone szyfrowanie AES-NI |
| Wydajność | Program SQL Server 2016 wykrywa obsługę AVX lub SSE przez procesor CPU i używa sprzętowych możliwości przetwarzania wektorowego w celu zwiększenia skalowalności i wydajności podczas kompresowania, tworzenia słowników i przetwarzania danych magazynu kolumnowego. | SQL 2016 — działa po prostu szybciej: indeks kolumnowy używa instrukcji wektorowych (SSE/AVX) |
| Wydajność | Program SQL Server 2016 korzysta z instrukcji wektora procesora CPU w celu zwiększenia wydajności operacji wstawiania zbiorczego. | SQL 2016 — po prostu działa szybciej — funkcja BULK INSERT używa instrukcji wektorowych (SSE/AVX) |
| Wydajność | Program SQL Server 2016 umożliwia instrukcji INSERT ... SELECT działanie przy użyciu równoległości, znacznie skracając czas ładowania danych. | SQLSweet16!, Odcinek 3: Parallel INSERT ... SELECT |
| Wydajność | Program SQL Server 2016 umożliwia wykonywanie operacji TRUNCATE na poszczególnych partycjach tabeli w celu zarchiwizowania starszych partycji. | SQLSweet16!, Odcinek 5: TRUNCATE Wybrane partycje |
| Wydajność | Program SQL Server 2016 dynamicznie dostosowuje rozmiar puli procesów roboczych bazy danych zoptymalizowanej pod kątem pamięci zgodnie z potrzebami. | SQL 2016 — działa ona szybciej: pula wątków roboczych bazy danych zoptymalizowanej pod kątem pamięci |
| Baza danych Tempdb | Baza danych tempdb i bazy danych użytkowników używają jednolitych pełnych ekstentów. Wzrost plików w bazie danych tempdb występuje w tym samym czasie dla wszystkich plików. | SQL 2016 — działa po prostu szybciej: -T1117 i -T1118 zmiany dla baz danych TEMPDB i baz danych użytkowników |
| Baza danych Tempdb | Konfiguracja Mechanizmu bazy danych automatycznie oblicza liczbę plików danych bazy danych tempdb. | SQL 2016 — działa po prostu szybciej: automatyczna konfiguracja bazy danych TEMPDB |
| Magazyn | Silnik bazy danych używa sygnatury 0xC0 zamiast 0x00 na potrzeby inicjowania pliku dziennika transakcji. | SQL 2016 — po prostu działa szybciej: oznaczone LDF |
| Magazyn | W przypadku serwerów z dużą ilością pamięci i środowisk o dużym natężeniu zapisu pośredni checkpoint działa lepiej. | SQL 2016 — działa po prostu szybciej: domyślny Indirect Checkpoint |
| Magazyn | Wysoka liczba transakcji może korzystać z wielu procesów zapisu dziennika opróżniających pamięć podręczną dziennika do dziennika transakcji. | SQL 2016 — po prostu działa szybciej: wiele wątków modułu Log Writer |
| Wykonywanie kopii zapasowych i przywracanie | Kopie zapasowe bazy danych zaszyfrowanej przy użyciu TDE można kompresować, jeśli określisz wartość MAXTRANSFERSIZE większą niż 65536. | SQLSweet16!, Odcinek 1: Kompresja kopii zapasowych dla baz danych z obsługą funkcji TDE |
| SQL OS | Dynamicznie partycjonuj obiekty pamięci w celu zmniejszenia rywalizacji o obiekty pamięci. | SQL 2016 — działa po prostu szybciej: partycjonowanie obiektu pamięci dynamicznej (CMemThread) |
| SQL OS | Program SQL Server 2016 monitoruje wzorce wykorzystania kwantu przez procesy robocze, dzięki czemu wszystkie procesy robocze są traktowane równomiernie, a skalowalność ulega poprawie. | SQL 2016 — działa po prostu szybciej: zaktualizowane algorytmy szeregowania |
| SQL OS | Program SQL Server 2016 analizuje konfigurację sprzętową i automatycznie konfiguruje soft NUMA w systemach wykazujących co najmniej 8 procesorów CPU na węzeł NUMA. Partycjonowanie powoduje różne dostosowania w całym silniku bazy danych w celu zwiększenia skalowalności i wydajności. | SQL 2016 — po prostu działa szybciej: automatyczna funkcja Soft NUMA |
| DBCC CHECK | Określ MAXDOP, aby kontrolować zasoby wykorzystywane przez polecenie DBCC CHECK. | SQLSweet16!, Odcinek 6: DBCC CHECKDB z MAXDOP |
| DBCC CHECK | Funkcja DBCC CHECK używa ulepszonego algorytmu skanowania stron, który powoduje mniej konfliktów i ma zaawansowane możliwości odczytu z wyprzedzeniem. | SQL 2016 — działa po prostu szybciej: DBCC skaluje 7x lepiej |
| DBCC CHECK | Polecenia DBCC CHECK zajmują dużo czasu podczas sprawdzania przez program SQL Server specjalnych typów danych i indeksów. Te kontrole zostały przeniesione do opcji EXTENDED_LOGICAL_CHECKS. | SQL 2016 — działa po prostu szybciej: rozszerzone kontrole DBCC |
| Strona kodów | Narzędzia BULK INSERT lub bcp zostały ulepszone w celu załadowania danych UTF-8 do tabeli w programie SQL Server. | SQLSweet16!, Odcinek 10: "Mogę jeść szkło ...", ale czy mogę załadować je do bazy danych? |
| Przestrzenny | Program SQL Server 2016 usuwa aktywności PInvoke i PUnInvoke podczas wykonywania języka T-SQL dla wielu metod przestrzennych. | SQL 2016 — działa po prostu szybciej: natywne implementacje przestrzenne |
| Przestrzenny | Program SQL Server 2016 zwiększa skalowalność programu TVP korzystającego z danych przestrzennych przy użyciu natywnych walidacji przestrzennych. | SQL 2016 — działa po prostu szybciej: parametry tabelaryczne (TVP) z kolumnami przestrzennymi |
| Przestrzenny | Wbudowane usprawnienia obsługi danych przestrzennych oraz usprawnienia TVP umożliwiają programowi SQL Server optymalizowanie tworzenia indeksów i teselacji danych przestrzennych. | SQL 2016 — działa po prostu szybciej: tworzenie indeksu przestrzennego jest szybsze |
| MSDTC | Program SQL Server 2016 dynamicznie uruchamia usługę MSDTC zgodnie z potrzebami, umożliwiając korzystanie z zasobów do innych działań do momentu, gdy będzie to wymagane. | SQL 2016 — wykorzystuje uruchamianie MSDTC na żądanie |
| XEvent | Różne zmiany są wprowadzane do logiki dostawcy XEvent Linq w celu zmniejszenia przełączania kontekstu, alokacji pamięci i innych czynników wpływających na szybsze renderowanie zdarzeń. | SQL 2016 — działa po prostu szybciej: czytnik XEvent Linq |
Tabela 4. Ważne poprawki zawarte w aktualizacji cu
Przejrzyj opis w kolumnie Objawy i zastosuj wymagane aktualizacje (najlepiej najnowszą aktualizację zawierającą konkretną poprawkę) 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 innych flag śledzenia jako parametrów uruchamiania, chyba że zostało to wyraźnie wskazane w artykule lub w tej tabeli. Wystarczy zastosować najnowszą aktualizację CU lub dodatek Service Pack zawierający te poprawki, aby uzyskać korzyść.
Uwaga Nazwa pakietu CU w kolumnie Wymagana aktualizacja wskazuje pierwszy pakiet CU programu SQL Server, który rozwiązuje ten problem. Zbiorcza aktualizacja zawiera wszystkie poprawki i wszystkie aktualizacje, które zostały dołączone razem z poprzednim wydaniem aktualizacji programu SQL Server. Jak wspomniano w aktualizacjach modelu obsługi przyrostowej programu SQL Server, zalecamy regularne i proaktywne instalowanie najnowszej aktualizacji zbiorczej, aby rozwiązywać opisane problemy lub im zapobiegać. Należy również pamiętać, że począwszy od programu SQL Server 2017 wprowadzono Nowoczesny model serwisowania dla programu SQL Server, aby dodatki Service Pack nie były już dostępne.
| Obowiązująca wersja | Obszar lub komponent | Opis rozwiązanego problemu | Zalecana aktualizacja |
|---|---|---|---|
| SQL Server 2016, SQL Server 2017 | Tworzenie kopii zapasowej i przywracanie | Tworzenie kopii zapasowej bazy danych z włączoną obsługą funkcji TDE kończy się niepowodzeniem i zwraca błąd 33111 sporadycznie podczas wyszukiwania starszej kopii certyfikatu, która została użyta do szyfrowania klucza szyfrowania danych w przeszłości, jeśli użyto innej niż domyślna wartość MAXTRANSFERSIZE |
POPRAWKA: Błędy 33111 i 3013 podczas tworzenia kopii zapasowej bazy danych zaszyfrowanej przy użyciu funkcji TDE w programie SQL Server Aktualizacja zbiorcza 2 dla programu SQL Server 2017 Aktualizacja zbiorcza 6 dla programu SQL Server 2016 SP1 Aktualizacja zbiorcza 9 dla programu SQL Server 2016 |
| SQL Server 2016, SQL Server 2017 | Kopia zapasowa i przywracanie | Instrukcja RESTORE HEADERONLY dla skompresowanej kopii zapasowej TDE wolno się wykonuje w programie SQL Server |
POPRAWKA: INSTRUKCJA RESTORE HEADERONLY dla skompresowanej kopii zapasowej TDE, której ukończenie trwa długo, w programie SQL Server Aktualizacja zbiorcza 8 dla programu SQL Server 2017 Aktualizacja zbiorcza 1 dla programu SQL Server 2016 SP2 |
| SQL Server 2016 | Tworzenie kopii zapasowej i przywracanie | Niepowodzenie kompresji pliku kopii zapasowej, gdy używana jest opcja INIT i COMPRESSION w bazie danych z włączoną funkcją TDE |
POPRAWKA: Nie można skompresować pliku kopii zapasowej, gdy opcja INIT i COMPRESSION jest używana w bazie danych z włączoną funkcją TDE w programie SQL Server 2016 Aktualizacja zbiorcza 7 dla programu SQL Server 2016 RTM CU 4 dla programu SQL Server 2016 SP1 |
| SQL Server 2016 | Tworzenie kopii zapasowej i przywracanie | Niepowodzenie asercji podczas tworzenia kopii zapasowej dużej zaszyfrowanej bazy danych TDE w programie SQL Server | Aktualizacja zbiorcza 4 dla programu SQL Server 2016 SP1 |
| SQL Server 2016 | Tworzenie kopii zapasowej i przywracanie | Przywracanie kończy się niepowodzeniem podczas tworzenia kopii zapasowej przy użyciu kompresji i sumy kontrolnej w bazie danych z obsługą technologii TDE |
POPRAWKA: Przywracanie kończy się niepowodzeniem w przypadku kopii zapasowej utworzonej przy użyciu kompresji i sumy kontrolnej w bazie danych z włączoną funkcją TDE w programie SQL Server 2016 Aktualizacja zbiorcza 7 dla programu SQL Server 2016 RTM Aktualizacja zbiorcza 4 dla programu SQL Server 2016 SP1 |
| SQL Server 2016 | Tworzenie kopii zapasowej i przywracanie | Błąd 9004 podczas próby przywrócenia skompresowanej kopii zapasowej z wielu plików dla dużej bazy danych zaszyfrowanej za pomocą funkcji TDE w programie SQL Server |
POPRAWKA: Błąd 9004 podczas próby przywrócenia skompresowanej kopii zapasowej z wielu plików dla dużej bazy danych zaszyfrowanej przy użyciu TDE Aktualizacja zbiorcza 7 dla programu SQL Server 2016 RTM |
| SQL Server 2016, SQL Server 2017 | Tworzenie kopii zapasowej i przywracanie | Niska wydajność przywracania podczas przywracania kopii zapasowej przy użyciu kompresji w sektorze 4-K w programie SQL Server |
KB4088193 — POPRAWKA: Niska wydajność przywracania podczas przywracania skompresowanej kopii zapasowej na dysku z rozmiarem sektora 4K w programie SQL Server Aktualizacja zbiorcza 9 dla programu SQL Server 2016 SP1 Aktualizacja zbiorcza 1 dla programu SQL Server 2016 SP2 Aktualizacja zbiorcza 7 dla programu SQL Server 2017 |
| SQL Server 2016, SQL Server 2017 | Tworzenie kopii zapasowych i przywracanie [VDI] | Przywracanie skompresowanej kopii zapasowej TDE kończy się niepowodzeniem w przypadku korzystania z klienta VDI | Aktualizacja zbiorcza 7 dla programu SQL Server 2017 Aktualizacja zbiorcza 1 dla programu SQL Server 2016 SP2 Aktualizacja zbiorcza 9 dla programu SQL Server 2016 SP1 |
| SQL Server 2016, SQL Server 2017 | Tworzenie kopii zapasowych i przywracanie [VDI] | Przywracanie skompresowanej kopii zapasowej bazy danych obsługującej funkcję TDE za pośrednictwem interfejsu VDI kończy się niepowodzeniem i zwraca błąd systemu operacyjnego 38 | Aktualizacja zbiorcza 8 dla programu SQL Server 2017 [usterka usługi VSTS # 10936552] SQL Server 2016 SP2 RTM [błąd VSTS # 10698847] |
| SQL Server 2016, SQL Server 2017 | Tworzenie kopii zapasowej i przywracanie [VSS] | Tworzenie kopii zapasowej bazy danych grupy dostępności za pomocą aplikacji opartej na usłudze VSS może zakończyć się niepowodzeniem w programie SQL Server |
POPRAWKA: Tworzenie kopii zapasowej bazy danych dostępności za pośrednictwem aplikacji opartej na usłudze VSS może zakończyć się niepowodzeniem w programie SQL Server Aktualizacja skumulowana 1 dla SQL Server 2017 Aktualizacja zbiorcza 9 dla programu SQL Server 2016 RTM Aktualizacja zbiorcza 5 dla programu SQL Server 2016 SP1 Aktualizacja zbiorcza 8 dla programu SQL Server 2014 SP2 |
| SQL Server 2016, SQL Server 2017 | Tworzenie kopii zapasowej i przywracanie | Tworzenie i przywracanie kopii zapasowej z włączoną funkcją TDE działa wolno, jeśli klucz szyfrowania jest przechowywany w dostawcy EKM w programie SQL Server |
Tworzenie i przywracanie kopii zapasowej z włączoną funkcją TDE działa wolno, jeśli klucz szyfrowania jest przechowywany w usłudze EKM Aktualizacja zbiorcza 8 dla programu SQL Server 2017 Aktualizacja zbiorcza 1 dla programu SQL Server 2016 z dodatkiem Service Pack 2 Aktualizacja zbiorcza 9 dla dodatku Service Pack 1 programu SQL Server 2016 |
| SQL Server 2016, SQL Server 2017 | Always On AGColumnstore | Zapytania pobierające dane przy użyciu wyszukiwania indeksu nieklasowanego trwają dłużej |
POPRAWKA: zapytania pobierające dane przy użyciu indeksu nieklasterowanego trwają znacznie dłużej w programie SQL Server Aktualizacja zbiorcza 2 dla programu SQL Server 2017 Aktualizacja zbiorcza 6 dla SQL Server 2016 Service Pack 1 Aktualizacja zbiorcza 9 dla programu SQL Server 2016 |
| SQL Server 2016, SQL Server 2017 | Always On AG | Równoległe ponawianie w pomocniczej replice grupy dostępności zawierającej tabele hałdy generuje zrzut asercji środowiska uruchomieniowego lub powoduje awarię serwera, na którym jest uruchomiony program SQL Server, i zwrócenie błędu naruszenia dostępu |
POPRAWKA: Równoległe ponawianie w pomocniczej replice grupy dostępności zawierającej tabele heap generuje zrzut po błędzie asercji w czasie wykonywania lub program SQL Server ulega awarii z powodu błędu naruszenia dostępu Aktualizacja zbiorcza 9 dla programu SQL Server 2016 SP1 Aktualizacja zbiorcza 1 dla programu SQL Server 2016 SP2 Aktualizacja zbiorcza 6 dla programu SQL Server 2017 |
| SQL Server 2016 | Always On AG | Występuje błąd asercji podczas używania równoległego redo w pomocniczej replice grupy dostępności Always On programu SQL Server |
POPRAWKA: Występuje błąd asercji, gdy używasz równoległego ponawiania w replice pomocniczej grupy dostępności Always On programu SQL Server Aktualizacja zbiorcza 3 dla programu SQL Server 2016 |
| SQL Server 2016, SQL Server 2017 | Always On AG | Działanie jest wolne w przypadku grupy dostępności Always On podczas przetwarzania zapytania odczytu |
POPRAWKA: Always On AG działa wolno podczas przetwarzania zapytania odczytu w programie SQL Server Aktualizacja zbiorcza 8 dla programu SQL Server 2017 Aktualizacja zbiorcza 1 dla programu SQL Server 2016 SP2 Aktualizacja zbiorcza 9 dla programu SQL Server 2016 SP1 |
| SQL Server 2017 | Always On AG | Poprawa czasu trwania trybu failover dla grupy dostępności w programie SQL Server w systemie Linux |
Poprawa mająca na celu skrócenie czasu trwania przełączenia awaryjnego dla grupy dostępności w programie SQL Server w systemie Linux Aktualizacja skumulowana 8 dla SQL Server 2017 |
| SQL Server 2017 | Always On AG | Ulepszenia funkcji Always On Availability Groups w klastrze Pacemaker w programie SQL Server |
Ulepszenia funkcji Always On Availability Groups w klastrze Pacemaker w programie SQL Server Aktualizacja zbiorcza 8 dla programu SQL Server 2017 |
| SQL Server 2016 | Pamięć | Równoległe ponowienie powoduje wysokie użycie pamięci |
POPRAWKA: Równoległe ponawianie operacji powoduje wysokie użycie pamięci w programie SQL Server 2016 w porównaniu z programem SQL Server 2014 lub starszymi wersjami Aktualizacja zbiorcza 3 dla programu SQL Server 2016 SP1 |
| SQL Server 2016, SQL Server 2017 | Pamięć | sp_execute_external_script i sys.dm_exec_cached_plans DMV powodują przecieki pamięci |
POPRAWKA: Systemowa procedura składowana sp_execute_external_script i DMV sys.dm_exec_cached_plans powodują przecieki pamięci w programie SQL Server 2017 i 2016 Skumulowana aktualizacja 4 dla SQL Server 2017 Aktualizacja zbiorcza 8 dla programu SQL Server 2016 z dodatkiem SP1 |
| SQL Server 2016, SQL Server 2017 | Pamięć | Błąd braku pamięci, gdy wirtualna przestrzeń adresowa procesu programu SQL Server jest niska |
Błąd braku pamięci, gdy jest mało wirtualnej przestrzeni adresowej procesu programu SQL Server w programie SQL Server Aktualizacja zbiorcza 4 dla SQL Server 2017 Aktualizacja zbiorcza 8 dla programu SQL Server 2016 SP1 |
| SQL Server 2016 | Pamięć | Wyciek pamięci występuje podczas korzystania z usługi Azure Storage w programie SQL Server |
Wyciek pamięci występuje podczas korzystania z usługi Azure Storage w programie SQL Server 2014 lub 2016 Aktualizacja zbiorcza 5 dla programu SQL Server 2016 RTM Aktualizacja zbiorcza 2 dla programu SQL Server 2016 SP1 Aktualizacja zbiorcza 2 dla programu SQL Server 2016 |
| SQL Server 2016, SQL Server 2017 | In-Memory OLTP | Wysokie wykorzystanie miejsca na dysku przez punkt kontrolny występuje dla grupy plików zoptymalizowanej pod kątem pamięci |
POPRAWKA: Duże użycie dysku przez punkty kontrolne występuje w grupie plików zoptymalizowanej pod kątem technologii In-Memory przy dużych obciążeniach niezwiązanych z technologią In-Memory Aktualizacja zbiorcza 6 dla programu SQL Server 2017 Aktualizacja skumulowana 8 dla SQL Server 2016 SP1 Aktualizacja zbiorcza 1 dla programu SQL Server 2016 |
| SQL Server 2016 | In-Memory OLTP | Pliki punktów kontrolnych rosną nadmiernie podczas wstawiania danych do tabel zoptymalizowanych pod kątem pamięci |
POPRAWKA: Pliki punktów kontrolnych rosną nadmiernie podczas wstawiania danych do tabel zoptymalizowanych pod kątem pamięci w programie SQL Server 2016 Aktualizacja zbiorcza 2 dla programu SQL Server 2016 SP1 Aktualizacja zbiorcza 4 dla programu SQL Server 2016 |
| SQL Server 2016, SQL Server 2017 | In-Memory OLTP | Odzyskiwanie bazy danych trwa długo, gdy zawiera tabele zoptymalizowane pod kątem pamięci |
Odzyskiwanie bazy danych, która ma tabele zoptymalizowane pod kątem pamięci, trwa długo w programach SQL Server 2017 i 2016 Aktualizacja zbiorcza 4 dla programu SQL Server 2017 Aktualizacja zbiorcza 7 dla programu SQL Server 2016 SP1 |
| SQL Server 2016, SQL Server 2017 | tempdb | Ulepszenie algorytmu round robin na stronie PFS |
Ulepszenia algorytmu round-robin stron PFS w programie SQL Server 2016 Aktualizacja zbiorcza 7 dla programu SQL Server 2017 Aktualizacja zbiorcza 1 dla programu SQL Server 2016 SP2 Aktualizacja zbiorcza 9 dla programu SQL Server 2016 SP1 |
| SQL Server 2016, SQL Server 2017 | tempdb | Problemy z wydajnością występują w postaci PAGELATCH_EX i PAGELATCH_SH oczekiwania w bazie danych TempDB (sys.sysobjvalues i sys.sysseobjvalues) |
Problemy z wydajnością występują w postaci oczekiwań PAGELATCH_EX i PAGELATCH_SH Aktualizacja zbiorcza 1 dla programu SQL Server 2016 dodatek Service Pack 2 Aktualizacja zbiorcza 9 dla dodatku Service Pack 1 programu SQL Server 2016 |
| SQL Server 2016, SQL Server 2017 | tempdb | Duża rywalizacja o tempdb Modyfikacja tabeli tymczasowej, która ma nazwane ograniczenia, wymaga synchronicznego usuwania tabeli tymczasowej |
Duże blokowanie w tempdb występuje w programie SQL Server 2016 lub 2017 Aktualizacja zbiorcza 5 dla programu SQL Server 2017 Aktualizacja zbiorcza 8 dla programu SQL Server 2016 SP1 |
| SQL Server 2017 | tempdb | Konflikty PAGELATCH_EX podczas usuwania obiektów tymczasowych (sys.sysobjvalues) |
POPRAWKA: konfliktów PAGELATCH_EX podczas usuwania obiektów tymczasowych w programie SQL Server Aktualizacja zbiorcza 5 dla programu SQL Server 2017 |
| SQL Server 2016 | tempdb | Zwiększone konflikty PAGELATCH_EX w sys.sysobjvalues |
POPRAWKA: Zwiększone konflikty PAGELATCH_EX w sys.sysobjvalues w programie SQL Server 2016 Aktualizacja zbiorcza 6 dla programu SQL Server 2016 RTM Aktualizacja zbiorcza 2 dla programu SQL Server 2016 z dodatkiem Service Pack 1 |
| SQL Server 2016, SQL Server 2017 | tempdb | Pośrednie checkpointy w bazie danych tempdb powodują błąd „Non-yielding scheduler” |
POPRAWKA: Pośrednie punkty kontrolne w bazie danych tempdb powodują błąd „Non-yielding scheduler” w programach SQL Server 2017 i 2016 Aktualizacja skumulowana 1 dla SQL Server 2017 Aktualizacja zbiorcza 5 dla programu SQL Server 2016 z dodatkiem SP1 Aktualizacja zbiorcza 8 dla programu SQL Server 2016 |
| SQL Server 2016, SQL Server 2017 | tempdb | Obciążenia korzystające z wielu częstych, krótkich transakcji mogą zużywać więcej procesora CPU |
Obciążenia robocze korzystające z wielu częstych, krótkich transakcji w SQL Server 2017 i 2016 mogą zużywać więcej procesora CPU niż w SQL Server 2014 Aktualizacja zbiorcza 4 dla programu SQL Server 2017 Aktualizacja zbiorcza 2 dla programu SQL Server 2016 SP1 |
| SQL Server 2016, SQL Server 2017 | Dziennik transakcji | Błąd 9002, gdy nie ma wystarczającej ilości miejsca na dysku na potrzeby krytycznego wzrostu dziennika |
KB4087406 — POPRAWKA: Błąd 9002, gdy nie ma wystarczającej ilości miejsca na dysku dla krytycznego wzrostu dziennika w programie SQL Server 2014, 2016 i 2017 Aktualizacja zbiorcza 5 dla programu SQL Server 2017 Aktualizacja zbiorcza 1 dla programu SQL Server 2016 SP2 Aktualizacja zbiorcza 8 dla programu SQL Server 2016 SP1 Aktualizacja zbiorcza 11 dla programu SQL Server 2014 SP2 |
| SQL Server 2016 | Pamięć podręczna zabezpieczeń | Wysokie użycie CPU powoduje problemy z wydajnością w SQL Server 2016. Duża konkurencja o spinlocki dla SECURITY_CACHE i CMED_HASH_SET SQLSweet16!, Odcinek 8: Jak zbiorcza aktualizacja SQL Server 2016 (CU2) może poprawić wydajność wysoce współbieżnych obciążeń |
KB3195888 — POPRAWKA: Wysokie użycie procesora CPU powoduje problemy z wydajnością w programie SQL Server 2016 i 2017 Aktualizacja zbiorcza 2 dla programu SQL Server 2016 |
| SQL Server 2017 | Magazyn zapytań | Naruszenie dostępu występuje, gdy Query Store zbiera statystyki wykonywania |
Naruszenie dostępu, gdy Query Store zbiera statystyki czasu wykonywania w programie SQL Server 2017 Aktualizacja zbiorcza 5 dla programu SQL Server 2017 |
| SQL Server 2016 | Magazyn zapytań | Automatyczne czyszczenie danych magazynu zapytań kończy się niepowodzeniem w wersjach innych niż Enterprise i Developer Edition |
Automatyczne czyszczenie danych Query Store kończy się niepowodzeniem w wersjach innych niż Enterprise i Developer programu SQL Server 2016 Aktualizacja zbiorcza 1 dla programu SQL Server 2016 |
| SQL Server 2016 | Magazyn zapytań | Niska wydajność programu SQL Server, gdy Query Store jest włączony |
KB4340759 — POPRAWKA: Niska wydajność programu SQL Server 2016, gdy funkcja Query Store jest włączona Aktualizacja zbiorcza 2 dla programu SQL Server 2016 SP2 |
Tabela 5. Zalecane ulepszenia, poprawki i wytyczne dotyczące konfiguracji programu SQL Server w środowisku systemu Linux
Ta tabela to kompilacja wszystkich kluczowych ulepszeń, zaleceń i zmian kodu, które zostały wydane w aktualizacjach zbiorczych po wydaniu programu SQL Server 2017. Przejrzyj opis w kolumnie Objawy i zastosuj wymagane aktualizacje (najlepiej najnowszą aktualizację zawierającą konkretną poprawkę) w odpowiednich środowiskach, zgodnie z informacjami w kolumnie Wymagana aktualizacja. Aby uzyskać więcej informacji na temat odpowiednich problemów, możesz przejrzeć wymieniony artykuł z bazy wiedzy.
Te zalecenia nie wymagają włączenia innych flag śledzenia jako parametrów uruchamiania, chyba że zostanie to wyraźnie wskazane w artykule lub w tej tabeli. Wystarczy zastosować najnowszą aktualizację zbiorczą lub dodatek Service Pack, który zawiera te poprawki, aby uzyskać korzyść. Jeśli używasz grupy dostępności Always On w programie SQL Server w systemie Linux, uaktualnij program SQL Server 2017 do aktualizacji zbiorczej 8 lub nowszej, ponieważ w tej aktualizacji wprowadzono kilka ulepszeń. Uwaga Nazwa CU w kolumnie Wymagana aktualizacja wskazuje 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. Jak wspomniano w aktualizacjach modelu obsługi przyrostowej programu SQL Server, zalecamy teraz zainstalowanie najnowszej aktualizacji zbiorczej regularnie i proaktywnie, aby rozwiązać lub zapobiec opisanym problemom. Należy również pamiętać, że począwszy od programu SQL Server 2017 wprowadzono model Modern Servicing Model for SQL Server, aby dodatki Service Pack nie były już dostępne.
| Podsumowanie zmian lub ulepszeń | Więcej informacji i odwołań |
|---|---|
| SQL i OS: zapoznaj się z różnymi najlepszymi rozwiązaniami dotyczącymi systemu operacyjnego i programu SQL Server podczas wdrażania programu SQL Server w systemie Linux | Najlepsze praktyki dotyczące wydajności i wytyczne dotyczące konfiguracji programu SQL Server w systemie Linux |
| Ulepszenie agenta SQL: zadania agenta programu SQL Server mogą być uruchamiane bez oczekiwania na odzyskanie wszystkich baz danych |
Zadania agenta programu SQL Server mogą być uruchamiane bez oczekiwania na odzyskanie wszystkich baz danych w programie SQL Server 2017 w systemie Linux Aktualizacja zbiorcza 9 dla programu SQL Server 2017 |
| Ulepszenie pamięci masowej: Włącz mechanizm "wymuszonego opróżnienia" w programie SQL Server 2017 |
Włącz mechanizm wymuszonego opróżniania w programie SQL Server 2017 w systemie Linux Aktualizacja zbiorcza 6 dla programu SQL Server 2017 |
| Ulepszenie pamięci masowej: Przenoszenie głównej bazy danych i pliku dziennika błędów do innej lokalizacji |
KB4053439 — ulepszenie: przenoszenie głównej bazy danych i pliku dziennika błędów do innej lokalizacji w programie SQL Server 2017 w systemie Linux Aktualizacja zbiorcza 4 dla programu SQL Server 2017 |
| Ulepszenie grupy dostępności: ulepszenia grup dostępności Always On w klastrze Pacemaker w programie SQL Server |
KB4339875 — ulepszenia grup dostępności Always On w klastrze Pacemaker w programie SQL Server Aktualizacja zbiorcza 8 dla programu SQL Server 2017 |
| Poprawa pamięci : minimalny limit pamięci ustawiony na 2 GB na instalację lub uruchomienie programu SQL Server |
KB4052969 — POPRAWKA: Minimalny limit pamięci ustawiony na 2 GB do zainstalowania lub uruchomienia programu SQL Server 2017 Aktualizacja zbiorcza 2 dla programu SQL Server 2017 |
| Pamięć FIX: faza narastania pamięci jest za długa po włączeniu TF 834 |
KB4075203 — POPRAWKA: faza zwiększania pamięci jest zbyt długa po włączeniu flagi śledzenia TF 834 w programie SQL Server 2017 w systemie Linux Aktualizacja zbiorcza 4 dla programu SQL Server 2017 |
| Planowanie — poprawka: Przenośność i wydajność różnią się między mapowaniami harmonogramu systemu Windows i Linux w programie SQL Server 2017 |
KB4043455 — POPRAWKA: Przenośność i wydajność różnią się między mapowaniami harmonogramu systemu Windows i Linux w programie SQL Server 2017 Aktualizacja skumulowana 1 dla SQL Server 2017 |
| AD Auth POPRAWKA: nie można utworzyć identyfikatora logowania na podstawie użytkownika należącego do domeny nadrzędnej |
KB4073670 — POPRAWKA: Nie można utworzyć loginu na podstawie użytkownika należącego do domeny nadrzędnej w programie SQL Server 2017 w systemie Linux Aktualizacja zbiorcza 4 dla programu SQL Server 2017 |
| AD Auth — aktualizacja: poprawia wydajność serwera SQL, ograniczając, z którymi centrami dystrybucji kluczy można się kontaktować w rozległych geograficznie sieciach |
KB4463314 — aktualizacja zwiększa wydajność serwera SQL, ograniczając, z którym KDC można się kontaktować w rozległych geograficznie sieciach Aktualizacja zbiorcza 11 dla programu SQL Server 2017 |
| AD Auth POPRAWKA: program SQL Server ulega awarii w przypadku korzystania z dostawców usługi Active Directory innych firm |
KB4466962 — poprawka: program SQL Server 2017 ulega awarii w przypadku korzystania z dostawców usługi Active Directory innych firm Aktualizacja zbiorcza 12 dla programu SQL Server 2017 |
| TSQL FIX: funkcja NEWSEQUENTIALID generuje zduplikowany identyfikator GUID po ponownym uruchomieniu programu SQL Server |
KB4078097 — POPRAWKA: funkcja NEWSEQUENTIALID generuje duplikaty identyfikatorów GUID po ponownym uruchomieniu programu SQL Server 2017 w systemie Linux Aktualizacja zbiorcza 4 dla programu SQL Server 2017 |
| Połączenia FIX: Nieoczekiwane użycie pamięci podczas użycia połączeń protokołu TCP |
KB4073045 — POPRAWKA: Nieoczekiwane użycie pamięci, gdy połączenia protokołu TCP są używane dla programu SQL Server 2017 w systemie Linux Aktualizacja zbiorcza 4 dla programu SQL Server 2017 |
| Połączenia FIX: błąd rozpoznawania nazw występuje, gdy protokół IPv6 jest wyłączony podczas uruchamiania |
KB4053392 — poprawka: błąd rozpoznawania nazw występuje, gdy protokół IPv6 jest wyłączony podczas uruchamiania w programie SQL Server 2017 w systemie Linux Aktualizacja zbiorcza 2 dla programu SQL Server 2017 |
| Poprawka połączeń: program SQL Server nie nasłuchuje niestandardowego adresu IP określonego przez skrypt mssql-conf |
KB4053393 — poprawka: program SQL Server 2017 w systemie Linux nie nasłuchuje na niestandardowym adresie IP określonym przez skrypt mssql-conf Aktualizacja zbiorcza 2 dla programu SQL Server 2017 |
| Instalacja POPRAWKA: błędy uaktualniania skryptu podczas stosowania CU |
Błędy podczas uaktualniania programu SQL Server 2017 CU4 lub nowszego bez włączania agenta SQL w systemie Linux Aktualizacja zbiorcza 6 dla programu SQL Server 2017 |
| Poczta bazy danych FIX: Nie można nawiązać połączenia za pomocą Poczty bazy danych z programem SQL Server, gdy jest używany inny niż domyślny port TCP |
KB4100873 — POPRAWKA: Poczta bazy danych nie może nawiązać połączenia z programem SQL Server 2017 w systemie Linux, gdy jest używany inny niż domyślny port TCP Aktualizacja zbiorcza 6 dla programu SQL Server 2017 |
| Kontener POPRAWKA: nie można zatrzymać kontenera Docker dla systemu Linux programu SQL Server przy użyciu polecenia „docker stop” |
KB4093805 — POPRAWKA: Nie można zatrzymać kontenera Docker SQL Server dla systemu Linux przy użyciu polecenia "docker stop" Aktualizacja zbiorcza 5 dla programu SQL Server 2017 |
| Kontener POPRAWKA: błąd braku pamięci podczas uruchamiania programu SQL Server w kontenerze platformy Docker systemu Linux |
KB4347055 — poprawka: błąd braku pamięci podczas uruchamiania programu SQL Server 2017 w kontenerze platformy Docker systemu Linux Aktualizacja zbiorcza 10 dla programu SQL Server 2017 |
| AG: Jeśli używasz pakietu Pacemaker 1.1.18-11.el7 lub nowszego, dostosuj właściwość start-failure-is-fatal |
KB4229789 — aktualizacja zbiorcza 7 dla programu SQL Server 2017 Zobacz sekcję Powiadomienie Pacemaker |
| AG POPRAWKA: Program Pacemaker może zabić procesy agenta zasobów, gdy upłynie limit czasu operacji |
KB4460203 — POPRAWKA: Program Pacemaker może zabić procesy agenta zasobów, gdy upłynie limit czasu operacji w grupie dostępności Always On programu SQL Server 2017 Aktualizacja zbiorcza 11 dla programu SQL Server 2017 |
| Poprawka AG: dwie instancje SQL Server są podstawową repliką grupy dostępności |
KB4316791 — POPRAWKA: Dwa wystąpienia programu SQL Server są repliką podstawową grupy dostępności w programie SQL Server Aktualizacja zbiorcza 8 dla programu SQL Server 2017 |
| AG FIX: niepotrzebne przełączenie awaryjne podczas korzystania z Always On Availability Group |
KB4056922 — POPRAWKA: niepotrzebne przejście w tryb failover w przypadku używania grupy dostępności Always On w programie SQL Server 2017 w systemie Linux Aktualizacja zbiorcza 3 dla programu SQL Server 2017 |
| Poprawka grupy dostępności: Pacemaker obniża istniejącą replikę podstawową zawsze włączonej grupy dostępności i nigdy nie promuje nowej repliki |
KB4076982 — POPRAWKA: Program Pacemaker obniża istniejącą replikę podstawową zawsze włączonej grupy dostępności w programie SQL Server 2017 w systemie Linux i nigdy nie promuje nowej Aktualizacja zbiorcza 4 dla programu SQL Server 2017 |
| Poprawka grupy dostępności: Program Pacemaker promuje niezsynchronizowaną replikę do podstawowej, gdy używasz zawsze włączonej grupy dostępności |
KB4091722 — POPRAWKA: Pacemaker promuje niezsynchronizowaną replikę do podstawowej, gdy używasz Always On AG w SQL Server 2017 w systemie Linux Aktualizacja zbiorcza 5 dla programu SQL Server 2017 |
| Poprawka AG: Podwyższenie poziomu repliki lokalnej do podstawowej przez Pacemaker kończy się niepowodzeniem podczas korzystania z Always On AG |
KB4230542 — POPRAWKA: promowanie przez Pacemaker repliki lokalnej do repliki podstawowej kończy się niepowodzeniem w przypadku używania Always On AG w programie SQL Server 2017 Aktualizacja zbiorcza 7 dla programu SQL Server 2017 |
| AG FIX: Uruchamianie bazy danych należącej do grupy dostępności powoduje przekroczenie limitu czasu |
KB4316790 — POPRAWKA: Uruchamianie bazy danych należącej do grupy dostępności przekracza limit czasu w programie SQL Server w systemie Linux Skumulowana aktualizacja 8 dla programu SQL Server 2017 |
| AG FIX: Niepotrzebne przełączenia awaryjne występują, gdy wystąpienie klastra trybu failover SQL Server lub Always On AG jest zarządzane przez program Pacemaker |
KB4316793 — POPRAWKA: niepotrzebne przejścia w tryb failover występują, gdy wystąpienie klastra trybu failover SQL Server 2017 lub Always On AG jest zarządzane przez program Pacemaker Aktualizacja zbiorcza 8 dla programu SQL Server 2017 |