KB5010786 — aktualizacja zbiorcza 29 dla SQL Server 2017 r.
Data wydania:
30.03.2022
Wersja:
14.0.3436.1
Podsumowanie
Ten artykuł zawiera opis pakietu aktualizacji zbiorczej 29 (CU29) dla Microsoft SQL Server 2017. Ta aktualizacja zawiera 16 poprawek, które zostały wydane po wydaniu aktualizacji zbiorczej SQL Server 2017 28 i aktualizuje składniki do następujących kompilacji:
-
SQL Server — wersja produktu: 14.0.3436.1, wersja pliku: 2017.140.3436.1
-
Analysis Services — wersja produktu: 14.0.249.90, wersja pliku: 2017.140.249.90
Znane problemy dotyczące tej aktualizacji
W tej aktualizacji zbiorczej nie ma żadnych znanych problemów.
Ulepszenia i poprawki zawarte w tej aktualizacji zbiorczej
Dostępny jest skoroszyt programu Excel do pobrania zawierający listę podsumowań kompilacji wraz z ich bieżącym cyklem pomocy technicznej. Plik programu Excel zawiera również szczegółowe listy poprawek dla SQL Server 2019 i SQL Server 2017. Kliknij, aby pobrać ten plik programu Excel.
Uwaga: Do poszczególnych wpisów w poniższej tabeli można się odwoływać bezpośrednio za pomocą zakładki. Jeśli wybierzesz jakikolwiek identyfikator odwołania do błędu w tabeli, do adresu URL zostanie dodany tag zakładki w następującym formacie: #bkmk_NNNNNNNN. Następnie możesz udostępnić ten adres URL innym osobom, aby umożliwić im przejście bezpośrednio do odpowiedniej poprawki w tabeli.
Odwołanie do błędu |
Numer artykułu bazy wiedzy |
Opis |
Naprawianie obszaru |
Platformy |
|
---|---|---|---|---|---|
Błąd występuje po przejściu w tryb failover rozproszonej grupy dostępności (AG), która próbuje nawiązać połączenie z pomocniczym słuchaczem AG z zamiarem aplikacji ustawionym na TYLKO DO ODCZYTU. Oto możliwe komunikaty o błędach:
|
Wysoka dostępność |
Windows |
|||
Po zainstalowaniu aktualizacji zbiorczej SQL Server zdarzenie rozszerzone AlwaysOn_Health nie ustawia STARTUP_STATEna WARTOŚĆ WŁĄCZONE. |
Wysoka dostępność |
Windows |
|||
Proces odzyskiwania bazy danych jest wybierany jako ofiara zakleszczenia w trybie failover grupy dostępności (AG) w pewnych okolicznościach. Zostanie wygenerowany następujący komunikat o błędzie: błąd <DateTime>: 1205, Ważność: 13, Stan: 51. |
Wysoka dostępność |
Windows |
|||
Skrócić czas reakcji narzędzia Sqldumpr.exe, gdy obiekty znajdujące się w pamięci są używane w SQL Server lub kiedyś istniały. |
In-Memory OLTP |
Wszystkie |
|||
Obsługuje bardziej elastyczne operacje oczyszczania i scalania umożliwiające zmianę In-Memory podczas operacji przywracania. |
In-Memory OLTP |
Windows |
|||
5008296 |
Aparat SQL |
Windows |
|||
5013181 |
POPRAWKA: Subskrypcja jest nadal aktywna po wygaśnięciu okresu przechowywania dystrybucji |
Aparat SQL |
Windows |
||
5013207 |
POPRAWKA: Python jest uszkodzony po uaktualnieniu środowiska uruchomieniowego do usługi Python 3.7 |
Aparat SQL |
Windows |
||
Indeks filtrowany ulega uszkodzeniu po upuszczeniu kolumny obliczeniowej w tej samej tabeli, a przefiltrowane uszkodzenia indeksu są zgłaszane jako błędy 8951 i 8955 po uruchomieniu funkcji DBCC CHECKTABLE WITH EXTENDED_LOGICAL_CHECKS. |
Aparat SQL |
Windows |
|||
Naruszenie zasad dostępu występuje podczas korzystania z tabel plików w SQL Server 2017 r. |
Aparat SQL |
Windows |
|||
Zapytanie na sys.dm_os_ring_buffers widoku zarządzania dynamicznego (DMV ) może spowodować naruszenie zasad dostępu. |
Aparat SQL |
Wszystkie |
|||
Zrzut naruszenia dostępu występuje, gdy zapytanie jest uruchamiane przez długi czas równolegle i próbuje ustalić wersję grupy wierszy dla poszczególnych transakcji do odczytu. |
Aparat SQL |
Wszystkie |
|||
Przywracanie ze skompresowanej kopii zapasowej zawierającej zawartość strumienia plików czasami kończy się niepowodzeniem po uruchomieniu przywracania przy użyciu klienta VDI (Virtual Device Interface). Zostanie wygenerowany następujący komunikat o błędzie: Msg 3241 |
Aparat SQL |
Windows |
|||
Przechodzenie przez długie łańcuchy IAM może spowodować nieprzychylający się harmonogram i skojarzony zrzut. |
Aparat SQL |
Windows |
|||
Funkcja Table Valued Function (TVF) nie dzwoni do planu wykonywania, jeśli do tego samego formatu TVF odwołuje się więcej niż raz w tym samym zapytaniu SQL. |
Wydajność JĘZYKA SQL |
Windows |
|||
Widok utworzony w tabeli zawierającej indeks XML nie może zwrócić poprawnego wyniku z powodu braku "%" w predykatach LIKE dla kolumn ukrytych dla xml_index_nodes tabeli. |
XML |
Wszystkie |
Jak uzyskać lub pobrać ten lub najnowszy pakiet aktualizacji zbiorczej
W Centrum pobierania Microsoft dostępna jest następująca aktualizacja:
Pobierz teraz najnowszy pakiet aktualizacji zbiorczej dla SQL Server 2017
Jeśli strona pobierania nie jest wyświetlana, skontaktuj się z Microsoft działem obsługi klienta i pomocy technicznej w celu uzyskania pakietu aktualizacji zbiorczej.
Uwaga: Po wydaniu przyszłych aktualizacji zbiorczych dla SQL Server 2017 r. można pobrać tę i wszystkie poprzednie aktualizacje z wykazu aktualizacji Microsoft. Zalecamy jednak, aby zawsze instalować najnowszą dostępną aktualizację zbiorczą.
Następująca aktualizacja jest dostępna w wykazie aktualizacji Microsoft:
Pobierz pakiet aktualizacji zbiorczej dla SQL Server 2017 CU 29
Aby zaktualizować system Linux do najnowszej wersji CU, musisz najpierw skonfigurować repozytorium aktualizacji skumulowanych. Następnie zaktualizuj pakiety SQL Server przy użyciu odpowiedniego polecenia aktualizacji specyficznego dla platformy.
Instrukcje instalacji i bezpośrednie linki do pobierania pakietów CU można znaleźć w informacjach o wersji.
Informacje dotyczące pliku
Możesz sprawdzić pobieranie, obliczając skrót plikuSQLServer2017-KB5010786-x64.exe za pomocą następującego polecenia:
certutil -hashfile SQLServer2017-KB5010786-x64.exe SHA256
Nazwa pliku |
Skrót SHA256 |
---|---|
SQLServer2017-KB5010786-x64.exe |
B610787064A85C1C25B014D7D8DE9EB20DC7AFB272CFB2D3002BA6653E31D662 |
Angielska wersja tego pakietu zawiera atrybuty plików (lub nowsze atrybuty plików) wymienione w poniższej tabeli. Daty i godziny dla tych plików są wymienione w uniwersalnym czasie koordynowanym (UTC). Podczas wyświetlania informacji o pliku są konwertowane na czas lokalny. Aby znaleźć różnicę między czasem UTC a czasem lokalnym, użyj karty Strefa czasowa w elemencie Data i godzina w Panel sterowania.
Wersje oparte na procesorze x64 SQL Server 2017 Analysis Services
SQL Server 2017 Database Services Common Core
Klient jakości danych SQL Server 2017
Jakość danych w SQL Server 2017 r.
sql_dreplay_client SQL Server 2017 r.
SQL Server 2017 r. sql_dreplay_controller
Podstawowe wystąpienie usług bazy danych SQL Server 2017
SQL Server 2017 Database Services Core Shared
SQL Server 2017 r. sql_extensibility
aparat Full-Text SQL Server 2017
SQL Server 2017 sql_inst_mr
usługi integracji SQL Server 2017
sql_polybase_core_inst SQL Server 2017 r.
sql_shared_mr SQL Server 2017 r.
sql_tools_extensions SQL Server 2017 r.
|
Uwagi dotyczące tej aktualizacji
Aby zastosować ten pakiet aktualizacji zbiorczej, musisz mieć zainstalowany SQL Server 2017.
Po zastosowaniu tego pakietu aktualizacji zbiorczej może być konieczne ponowne uruchomienie komputera.
Aby użyć jednej z poprawek w tym pakiecie, nie musisz wprowadzać żadnych zmian w rejestrze.
Ten artykuł zawiera również ważne informacje o następujących sytuacjach:
-
Rozrusznik serca : Zmiana behawioralna jest wprowadzana w dystrybucjach korzystających z najnowszej dostępnej wersji rozrusznika serca. Dostępne są metody łagodzenia.
-
Magazyn zapytań : Ten skrypt należy uruchomić, jeśli korzystasz ze Sklepu zapytań i zainstalowano wcześniej aktualizację zbiorczą 2 (CU2) Microsoft SQL Server 2017.
Wersja kompilacji CU usług Analysis Services
Począwszy od SQL Server 2017 r. numer wersji kompilacji usług Analysis Services i numer wersji kompilacji aparatu bazy danych SQL Server nie są zgodne. Aby uzyskać więcej informacji, zobacz Weryfikowanie wersji kompilacji aktualizacji zbiorczej usług Analysis Services.
Aktualizacje skumulowane (CU)
Aktualizacje zbiorcze (CU) są teraz dostępne w centrum pobierania Microsoft.
Tylko najnowsza cu, która została wydana dla SQL Server 2017 jest dostępna w Centrum pobierania.
Pakiety CU dla systemu Linux są dostępne w https://packages.microsoft.com/.
Uwagi
-
Każda nowa cu zawiera wszystkie poprawki, które zostały dołączone do poprzedniej cu dla zainstalowanej wersji SQL Server.
-
SQL Server jednostki CU są certyfikowane do tych samych poziomów co dodatki Service Pack i powinny być instalowane na tym samym poziomie ufności.
-
Zalecamy ciągłe, proaktywne instalowanie aktualizacji aktualizacji w miarę ich dostępności zgodnie z poniższymi wytycznymi:
-
Dane historyczne pokazują, że znaczna liczba przypadków pomocy technicznej dotyczy problemu, który został już rozwiązany w wydanej cu.
-
Aktualizacje mogą zawierać wartość dodawaną znajdującą się powyżej poprawek. Obejmuje to aktualizacje dotyczące możliwości obsługi, zarządzania i niezawodności.
-
-
Zalecamy przetestowanie wersji CU przed ich wdrożeniem w środowiskach produkcyjnych.
WAŻNE
Wszystkie dystrybucje (w tym RHEL 7.3 i 7.4), które korzystają z najnowszego dostępnego pakietu pacemaker 1.1.18-11.el7 wprowadzają zmianę zachowania dla ustawienia klastra błąd-start-is-fatal , jeśli jego wartość jest fałszywa. Ta zmiana wpływa na przepływ pracy trybu failover. Jeśli replika podstawowa doświadcza awarii, oczekuje się, że klastra do pracy awaryjnej do jednej z dostępnych replik pomocniczych. Zamiast tego użytkownicy zauważą, że klaster wciąż próbuje uruchomić nieudaną replikę podstawową. Jeśli ten podstawowy nigdy nie przychodzi w tryb online (z powodu trwałej awarii), klastra nigdy nie kończy się niepowodzeniem do innej dostępnej repliki pomocniczej.
Ten problem dotyczy wszystkich wersji SQL Server, niezależnie od wersji aktualizacji zbiorczej, na których są one włączone.
Aby ograniczyć ten problem, użyj jednej z następujących metod.
Metoda 1
Wykonaj następujące czynności:
-
Usuń zastępowanie błąd-rozpoczęcie-jest śmiertelne z istniejącego klastra.
# RHEL, Ubuntu pcs właściwość unset start-failure-is-fatal # lub pcs właściwość set start-failure-is-fatal=true # SLES crm configure property start-failure-is-fatal=true -
Zmniejszanie wartości interwału ponownego sprawdzania klastra .
# RHEL, Ubuntu pcs property set cluster-recheck-interval=<Xmin> # SLES crm configure property cluster-recheck-interval=<Xmin> -
Dodaj właściwość meta limitu czasu awarii do każdego zasobu AG.
# RHEL, Ubuntu pcs resource update ag1 meta failure-timeout=60s # SLES crm configure edit ag1 # In the text editor, add 'meta failure-timeout=60s' after any 'param's and before any 'op'sUwaga 16. W tym kodzie zastąp odpowiednią wartość <> Xmin . Jeśli replika ustępuje, klaster próbuje ponownie uruchomić replikę w interwale powiązanym z wartością limitu czasu awarii i wartością interwału ponownego sprawdzania klastra . Jeśli na przykład limit czasu awarii jest ustawiony na 60 sekund, a interwał ponownego sprawdzania klastra jest ustawiony na 120 sekund, ponowne uruchomienie jest próby w interwale większym niż 60 sekund, ale mniejszym niż 120 sekund. Zalecamy ustawienie limitu czasu awarii na wartość 60s i interwał ponownego sprawdzania klastra na wartość większą niż 60 sekund. Zalecamy, aby nie ustawiać małej wartości interwału ponownego sprawdzania klastra . Aby uzyskać więcej informacji, zapoznaj się z dokumentacją rozrusznika serca lub skontaktuj się z dostawcą systemu.
Metoda 2
Przywróć do programu Pacemaker w wersji 1.1.16.
WAŻNE
Ten skrypt należy uruchomić, jeśli korzystasz ze Sklepu zapytań i aktualizujesz aktualizację z aktualizacji zbiorczej 2 (CU2) z SQL Server 2017 r. bezpośrednio do aktualizacji zbiorczej 3 (CU3) SQL Server 2017 lub dowolnej nowszej aktualizacji zbiorczej. Nie musisz uruchamiać tego skryptu, jeśli wcześniej zainstalowano aktualizację zbiorczą 3 (CU3) SQL Server 2017 lub nowszą aktualizację zbiorczą SQL Server 2017.
SET NOCOUNT ON;
DROP TABLE IF EXISTS #tmpUserDBs;
SELECT [database_id], 0 AS [IsDone]
INTO #tmpUserDBs
FROM master.sys.databases
WHERE [database_id] > 4
AND [state] = 0 -- must be ONLINE
AND is_read_only = 0 -- cannot be READ_ONLY
AND [database_id] NOT IN (SELECT dr.database_id FROM sys.dm_hadr_database_replica_states dr -- Except all local Always On secondary replicas
INNER JOIN sys.dm_hadr_availability_replica_states rs ON dr.group_id = rs.group_id
INNER JOIN sys.databases d ON dr.database_id = d.database_id
WHERE rs.role = 2 -- Is Secondary
AND dr.is_local = 1
AND rs.is_local = 1)
DECLARE @userDB sysname;
WHILE (SELECT COUNT([database_id]) FROM #tmpUserDBs WHERE [IsDone] = 0) > 0
BEGIN
SELECT TOP 1 @userDB = DB_NAME([database_id]) FROM #tmpUserDBs WHERE [IsDone] = 0
-- PRINT 'Working on database ' + @userDB
EXEC ('USE [' + @userDB + '];
DECLARE @clearPlan bigint, @clearQry bigint;
IF EXISTS (SELECT [actual_state] FROM sys.database_query_store_options WHERE [actual_state] IN (1,2))
BEGIN
IF EXISTS (SELECT plan_id FROM sys.query_store_plan WHERE engine_version = ''14.0.3008.27'')
BEGIN
DROP TABLE IF EXISTS #tmpclearPlans;
SELECT plan_id, query_id, 0 AS [IsDone]
INTO #tmpclearPlans
FROM sys.query_store_plan WHERE engine_version = ''14.0.3008.27''
WHILE (SELECT COUNT(plan_id) FROM #tmpclearPlans WHERE [IsDone] = 0) > 0
BEGIN
SELECT TOP 1 @clearPlan = plan_id, @clearQry = query_id FROM #tmpclearPlans WHERE [IsDone] = 0
EXECUTE sys.sp_query_store_unforce_plan @clearQry, @clearPlan;
EXECUTE sys.sp_query_store_remove_plan @clearPlan;
UPDATE #tmpclearPlans
SET [IsDone] = 1
WHERE plan_id = @clearPlan AND query_id = @clearQry
END;
PRINT ''- Cleared possibly affected plans in database [' + @userDB + ']''
END
ELSE
BEGIN
PRINT ''- No affected plans in database [' + @userDB + ']''
END
END
ELSE
BEGIN
PRINT ''- Query Store not enabled in database [' + @userDB + ']''
END')
UPDATE #tmpUserDBs
SET [IsDone] = 1
WHERE [database_id] = DB_ID(@userDB)
END
Podczas wdrażania aktualizacji w środowisku hybrydowym (takim jak AlwaysOn, replikacja, klastrowanie i dublowanie) przed wdrożeniem aktualizacji zalecamy skorzystanie z następujących artykułów:
-
SQL Server procesu aktualizacji i dodatku
Service Pack dla klastra trybu failover Uwaga Jeśli nie chcesz korzystać z procesu aktualizacji, wykonaj następujące czynności, aby zastosować aktualizację:-
Zainstaluj aktualizację w węźle pasywnym.
-
Zainstaluj aktualizację w aktywnym węźle (wymaga ponownego uruchomienia usługi).
-
-
Uaktualnianie i aktualizowanie serwerów grup dostępności, które używają minimalnych przestojów i utraty
danych Uwaga Jeśli włączono funkcję AlwaysOn z wykazem SSISDB, zobacz informacje o systemie SSIS za pomocą funkcji AlwaysOn, aby uzyskać więcej informacji na temat stosowania aktualizacji w tych środowiskach. -
Jak zastosować poprawkę dla SQL Server w replikacji transakcyjnej i topologii dublowania bazy danych
-
Jak zastosować poprawkę dla SQL Server w topologii replikacji
SQL Server Aktualizacje skumulowany są obecnie wielojęzyczne. Dlatego ten pakiet aktualizacji zbiorczej nie jest specyficzny dla jednego języka. Dotyczy on wszystkich obsługiwanych języków.
Jeden pakiet aktualizacji zbiorczej zawiera wszystkie dostępne aktualizacje wszystkich składników (funkcji) SQL Server 2017. Jednak pakiet aktualizacji zbiorczych aktualizuje tylko te składniki, które są obecnie zainstalowane w wystąpieniu SQL Server wybranego do serwisowania. Jeśli funkcja SQL Server (na przykład Usługi Analysis Services) zostanie dodana do wystąpienia po zastosowaniu tej cu, musisz ponownie zastosować tę cu, aby zaktualizować nową funkcję do tej cu.
W przypadku wystąpienia dodatkowych problemów lub ewentualnych wymaganych rozwiązań może być konieczne utworzenie żądania usługi. Typowe koszty pomocy technicznej będą miały zastosowanie do dodatkowych pytań dotyczących pomocy technicznej i problemów, które nie kwalifikują się do tego konkretnego pakietu aktualizacji zbiorczych. Aby uzyskać pełną listę Microsoft numerów telefonów do obsługi klienta i pomocy technicznej lub utworzyć oddzielne żądanie obsługi, przejdź do witryny internetowej Microsoft pomocy technicznej.
Jak odinstalować tę aktualizację
-
W Panel sterowania otwórz element Programy i funkcje, a następnie wybierz pozycję Wyświetl zainstalowane aktualizacje.
-
Znajdź wpis odpowiadający temu pakietowi aktualizacji zbiorczej w obszarze SQL Server 2017.
-
Naciśnij i przytrzymaj (lub kliknij prawym przyciskiem myszy) wpis, a następnie wybierz pozycję Odinstaluj.
Aby odinstalować tę cu w systemie Linux, należy przywrócić pakiet do poprzedniej wersji.
Aby uzyskać więcej informacji na temat wycofywania instalacji, zobacz Wycofywanie SQL Server.
Zrzeczenie odpowiedzialności dotyczące informacji innych firm
Produkty innych firm omówione w tym artykule są produkowane przez firmy niezależne od Microsoft. Microsoft nie udziela żadnych gwarancji, dorozumianych ani innych, co do wydajności i niezawodności tych produktów.
Informacje
-
Przedstawiamy aktualizacje SQL Server modelu obsługi przyrostowej (ISM)
-
SQL Server dodatki Service Pack są wycofywane od SQL Server 2017 r.
-
Skrypt określający wersję i wersję SQL Server aparatu bazy danych
-
Przyrostowy model obsługi dla SQL Server dostarczania poprawek zgłoszonych problemów
-
Schemat nazewnictwa pakietów aktualizacji oprogramowania Microsoft SQL Server
-
Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft