KB5010786 - Cumulatieve update 29 voor SQL Server 2017
Releasedatum:
30-3-2022
Versie:
14.0.3436.1
Samenvatting
In dit artikel wordt cumulatief updatepakket 29 (CU29) voor Microsoft SQL Server 2017 beschreven. Deze update bevat 16 fixes die worden uitgegeven na de release van SQL Server cumulatieve update 28 van 2017 en onderdelen worden bijgewerkt naar de volgende builds:
-
SQL Server - Productversie: 14.0.3436.1, bestandsversie: 2017.140.3436.1
-
Analysis Services - Productversie: 14.0.249.90, bestandsversie: 2017.140.249.90
Bekende problemen in deze update
Er zijn geen bekende problemen in deze cumulatieve update.
Verbeteringen en oplossingen die zijn opgenomen in deze cumulatieve update
Er is een downloadbare Excel-werkmap beschikbaar die een overzichtslijst met builds bevat, samen met de huidige ondersteuningslevenscyclus. Het Excel-bestand bevat ook gedetailleerde oplossingen voor SQL Server 2019 en SQL Server 2017. Klik om dit Excel bestand nu te downloaden.
Opmerking: Naar afzonderlijke vermeldingen in de volgende tabel kan rechtstreeks via een bladwijzer worden verwezen. Als u een verwijzings-id voor fouten in de tabel selecteert, ziet u dat er een bladwijzertag aan de URL wordt toegevoegd met de volgende indeling: #bkmk_NNNNNNNN. U kunt deze URL vervolgens delen met anderen, zodat ze direct naar de gewenste oplossing in de tabel kunnen gaan.
Naslaginformatie over fouten |
KB-artikelnummer |
Beschrijving |
Gebied herstellen |
Platform |
|
---|---|---|---|---|---|
Er treedt een fout op na de failover van een gedistribueerde beschikbaarheidsgroep (AG) die probeert verbinding te maken met de secundaire AG-listener met de toepassingsintentie ingesteld op ALLEEN-LEZEN. Dit zijn de mogelijke foutberichten:
|
Hoge beschikbaarheid |
Windows |
|||
De uitgebreide AlwaysOn_Health-gebeurtenis stelt STARTUP_STATE niet in op AAN na het installeren van een cumulatieve SQL Server-update. |
Hoge beschikbaarheid |
Windows |
|||
Het databaseherstelproces wordt onder bepaalde omstandigheden gekozen als het impasseslachtoffer op beschikbaarheidsgroepfailover (AG). Het volgende foutbericht wordt gegenereerd: <DateTime> Fout: 1205, Ernst: 13, Status: 51. |
Hoge beschikbaarheid |
Windows |
|||
Verbetert de reactietijd van het hulpprogramma Sqldumpr.exe wanneer objecten in het geheugen worden gebruikt in SQL Server of eenmaal bestaan. |
In-Memory OLTP |
Alle |
|||
Ondersteunt flexibelere opschonings- en samenvoegbewerkingen door In-Memory te wijzigen tijdens herstelbewerkingen. |
In-Memory OLTP |
Windows |
|||
5008296 |
SQL-engine |
Windows |
|||
5013181 |
OPLOSSING: Een abonnement is nog steeds actief nadat de retentieperiode voor distributie is verlopen |
SQL-engine |
Windows |
||
5013207 |
OPLOSSING: Python is verbroken na de runtime-upgrades naar Python 3.7 |
SQL-engine |
Windows |
||
Een gefilterde index raakt beschadigd nadat u een berekende kolom in dezelfde tabel hebt verwijderd en de gefilterde indexbeschadigingen worden gerapporteerd als 8951- en 8955-fouten wanneer u DBCC CHECKTABLE WITH EXTENDED_LOGICAL_CHECKS uitvoert. |
SQL-engine |
Windows |
|||
Er treedt een toegangsfout op wanneer u FileTables gebruikt in SQL Server 2017. |
SQL-engine |
Windows |
|||
De query op basis van de DYNAMISCHE beheerweergave (DMV) sys.dm_os_ring_buffers kan leiden tot een toegangsschending (AV). |
SQL-engine |
Alle |
|||
Er treedt een toegangsschendingsdump op wanneer de query lange tijd parallel wordt uitgevoerd en probeert de versie van de rijgroep te bepalen voor de specifieke transacties die moeten worden gelezen. |
SQL-engine |
Alle |
|||
Herstellen vanuit een gecomprimeerde back-up die bestandsstreaminhoud bevat, mislukt af en toe wanneer de herstelbewerking wordt uitgevoerd met behulp van de VDI-client (Virtual Device Interface). Het volgende foutbericht wordt gegenereerd: Msg 3241 |
SQL-engine |
Windows |
|||
Het doorkruisen van lange IAM-ketens kan leiden tot een niet-renderende scheduler en bijbehorende dump. |
SQL-engine |
Windows |
|||
De tabelwaardefunctie (TVF) mist het aanroepen van het uitvoeringsplan als in dezelfde SQL query meer dan één keer naar dezelfde TVF wordt verwezen. |
SQL prestaties |
Windows |
|||
Een weergave die is gemaakt in een tabel met een XML-index, kan het juiste resultaat niet retourneren omdat er %ontbreekt in het LIKE-predicaat voor kolommen die zijn verborgen voor xml_index_nodes tabel. |
XML |
Alle |
Dit of nieuwste cumulatieve updatepakket verkrijgen of downloaden
De volgende update is beschikbaar via het Microsoft Downloadcentrum:
Download nu het meest recente cumulatieve updatepakket voor SQL Server 2017
Als de downloadpagina niet wordt weergegeven, neemt u contact op met de klantenservice en ondersteuning van Microsoft om het cumulatieve updatepakket te verkrijgen.
Opmerking: Nadat toekomstige cumulatieve updates zijn uitgebracht voor SQL Server 2017, kunnen deze en alle vorige CU's worden gedownload uit de Microsoft Update-catalogus. We raden u echter aan om altijd de meest recente cumulatieve update te installeren die beschikbaar is.
De volgende update is beschikbaar in de Microsoft Update-catalogus:
Download nu het cumulatieve updatepakket voor SQL Server 2017 CU 29
Als u Linux wilt bijwerken naar de nieuwste CU, moet u eerst de opslagplaats voor cumulatieve updates hebben geconfigureerd. Werk vervolgens uw SQL Server-pakketten bij met behulp van de juiste platformspecifieke updateopdracht.
Zie de releaseopmerkingen voor installatie-instructies en directe koppelingen naar de downloads van het CU-pakket.
Bestandsgegevens
U kunt het downloaden controleren door de hash van het SQLServer2017-KB5008084-x64.exe-bestand te berekenen met behulp van de volgende opdracht:
certutil -hashfile SQLServer2017-KB5010786-x64.exe SHA256
Bestandsnaam |
SHA256-hash |
---|---|
SQLServer2017-KB5010786-x64.exe |
B610787064A85C1C25B014D7D8DE9EB20DC7AFB272CFB2D3002BA6653E31D662 |
De Engelse versie van dit pakket heeft de bestandskenmerken (of latere bestandskenmerken) die worden vermeld in de volgende tabel. De datums en tijden voor deze bestanden worden vermeld in Coordinated Universal Time (UTC). Wanneer u de bestandsgegevens bekijkt, wordt deze geconverteerd naar lokale tijd. Als u het verschil tussen UTC en lokale tijd wilt vinden, gebruikt u het tabblad Tijdzone in het item Datum en tijd in Configuratiescherm.
x64-versies SQL Server Analysis Services 2017
SQL Server 2017 Database Services Common Core
SQL Server 2017-client voor gegevenskwaliteit
gegevenskwaliteit SQL Server 2017
SQL Server 2017 sql_dreplay_client
SQL Server 2017 sql_dreplay_controller
SQL Server 2017 Database Services Core Instance
SQL Server 2017 Database Services Core Shared
SQL Server 2017 sql_extensibility
SQL Server 2017 Full-Text Engine
SQL Server 2017 sql_inst_mr
SQL Server 2017 Integration Services
SQL Server 2017 sql_polybase_core_inst
SQL Server 2017 sql_shared_mr
SQL Server 2017 sql_tools_extensions
|
Opmerkingen voor deze update
Als u dit cumulatieve updatepakket wilt toepassen, moet u SQL Server 2017 uitvoeren.
Mogelijk moet u de computer opnieuw opstarten nadat u dit cumulatieve updatepakket hebt toegepast.
Als u een van de hotfixes in dit pakket wilt gebruiken, hoeft u geen wijzigingen aan te brengen in het register.
Dit artikel bevat ook belangrijke informatie over de volgende situaties:
-
Pacemaker : Er wordt een gedragswijziging aangebracht in distributies die gebruikmaken van de nieuwste beschikbare versie van Pacemaker. Er worden oplossingen geboden.
-
Query Store : U moet dit script uitvoeren als u de Query Store gebruikt en u eerder Microsoft SQL Server cumulatieve update 2 (CU2) van 2017 hebt geïnstalleerd.
Buildversie van Analysis Services CU
Vanaf SQL Server 2017 komen het buildversienummer van Analysis Services en SQL Server buildversienummer van de Database Engine niet overeen. Zie de cumulatieve updateversie van Analysis Services controleren voor meer informatie.
Cumulatieve updates (CU)
Cumulatieve updates (CU) zijn nu beschikbaar in het Microsoft Downloadcentrum.
Alleen de meest recente CU die is uitgebracht voor SQL Server 2017 is beschikbaar in het Downloadcentrum.
CU-pakketten voor Linux zijn beschikbaar op https://packages.microsoft.com/.
Opmerkingen
-
Elke nieuwe CU bevat alle fixes die zijn opgenomen in de vorige CU voor de geïnstalleerde versie van SQL Server.
-
SQL Server CA's zijn gecertificeerd op dezelfde niveaus als servicepacks en moeten op hetzelfde betrouwbaarheidsniveau worden geïnstalleerd.
-
We raden u aan om CU's continu, proactief te installeren zodra ze beschikbaar komen volgens deze richtlijnen:
-
Historische gegevens laten zien dat een aanzienlijk aantal ondersteuningsaanvragen betrekking heeft op een probleem dat al is opgelost in een vrijgegeven CU.
-
CU's kunnen toegevoegde waarde bevatten boven en boven hotfixes. Dit omvat ondersteunings-, beheerbaarheids- en betrouwbaarheidsupdates.
-
-
We raden u aan OM's te testen voordat u ze implementeert in productieomgevingen.
BELANGRIJK
Alle distributies (inclusief RHEL 7.3 en 7.4) die gebruikmaken van het nieuwste beschikbare Pacemaker-pakket 1.1.18-11.el7 introduceren een gedragswijziging voor de clusterinstelling start-failure-is-fatal als de waarde ervan onwaar is. Deze wijziging is van invloed op de failoverwerkstroom. Als een primaire replica een storing ondervindt, wordt verwacht dat het cluster een failover uitvoert naar een van de beschikbare secundaire replica's. In plaats daarvan merken gebruikers dat het cluster blijft proberen de mislukte primaire replica te starten. Als die primaire server nooit online komt (vanwege een permanente storing), wordt er nooit een failover uitgevoerd naar een andere beschikbare secundaire replica.
Dit probleem is van invloed op alle SQL Server versies, ongeacht de cumulatieve updateversie waarin ze zich bevinden.
Gebruik een van de volgende methoden om het probleem te verhelpen.
Methode 1
Ga als volgt te werk:
-
Verwijder de overschrijving start-failure-is-fatal uit het bestaande cluster.
# RHEL, Ubuntu pcs property unset start-failure-is-fatal # or pcs property set start-failure-is-fatal=true # SLES crm configure property start-failure-is-fatal=true -
Verlaag de waarde van het cluster-opnieuw controleren-interval .
# RHEL, Ubuntu pcs property set cluster-recheck-interval=<Xmin> # SLES crm configure property cluster-recheck-interval=<Xmin> -
Voeg de meta-eigenschap failure-timeout toe aan elke AG-resource .
# RHEL, Ubuntu pcs resource update ag1 meta failure-timeout=60s # SLES crm configure edit ag1 # In de teksteditor voegt u 'meta failure-timeout=60s' toe na een 'param's' en vóór 'op'sOpmerking Vervang in deze code de waarde door <Xmin ->. Als een replica uitvalt, probeert het cluster de replica opnieuw op te starten met een interval dat afhankelijk is van de waarde voor de time-out van de fout en de waarde van het cluster-recheck-interval . Als de time-out voor fouten bijvoorbeeld is ingesteld op 60 seconden en het interval voor opnieuw controleren van het cluster is ingesteld op 120 seconden, wordt opnieuw opstarten geprobeerd met een interval dat groter is dan 60 seconden maar minder dan 120 seconden. U wordt aangeraden een time-out voor fouten in te stellen op 60s en het interval voor opnieuw controleren van clusters in te stellen op een waarde die groter is dan 60 seconden. Het is raadzaam om het interval voor cluster-opnieuw controleren niet in te stellen op een kleine waarde. Raadpleeg de Pacemaker-documentatie of raadpleeg de systeemprovider voor meer informatie.
Methode 2
Terugkeren naar Pacemaker versie 1.1.16.
BELANGRIJK
U moet dit script uitvoeren als u Query Store gebruikt en u vanaf SQL Server cumulatieve update 2 (CU2) van SQL Server 2017 rechtstreeks bijwerkt naar SQL Server cumulatieve update 3 (CU3) van 2017 of een latere cumulatieve update. U hoeft dit script niet uit te voeren als u eerder SQL Server cumulatieve update 3 (CU3) van 2017 of een latere cumulatieve update SQL Server 2017 hebt geïnstalleerd.
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
Wanneer u een update implementeert in een hybride omgeving (zoals AlwaysOn, replicatie, cluster en spiegeling), raden we u aan de volgende artikelen te raadplegen voordat u de update implementeert:
-
SQL Server proces voor rolling updates en servicepacks
voor failoverclusters Opmerking Als u het proces voor rolling updates niet wilt gebruiken, volgt u deze stappen om een update toe te passen:-
Installeer de update op het passieve knooppunt.
-
Installeer de update op het actieve knooppunt (hiervoor moet de service opnieuw worden opgestart).
-
-
Upgrade en update van beschikbaarheidsgroepservers die minimale downtime en gegevensverlies
gebruiken Opmerking Als u AlwaysOn hebt ingeschakeld met de SSISDB-catalogus, raadpleegt u de informatie over SSIS met AlwaysOn voor meer informatie over het toepassen van een update in deze omgevingen. -
Een hotfix toepassen voor SQL Server in een replicatietopologie
SQL Server cumulatieve updates zijn momenteel meertalig. Daarom is dit cumulatieve updatepakket niet specifiek voor één taal. Het is van toepassing op alle ondersteunde talen.
Eén cumulatief updatepakket bevat alle beschikbare updates voor ALLE SQL Server 2017-onderdelen (functies). Het cumulatieve updatepakket werkt echter alleen de onderdelen bij die momenteel zijn geïnstalleerd op het SQL Server exemplaar dat u selecteert om te worden bijgewerkt. Als een SQL Server-functie (bijvoorbeeld Analysis Services) wordt toegevoegd aan het exemplaar nadat deze CU is toegepast, moet u deze CU opnieuw toepassen om de nieuwe functie bij te werken naar deze CU.
Als er extra problemen optreden of als er een probleemoplossing is vereist, moet u mogelijk een serviceaanvraag maken. De gebruikelijke ondersteuningskosten zijn van toepassing op aanvullende ondersteuningsvragen en op problemen die niet in aanmerking komen voor dit specifieke cumulatieve updatepakket. Ga naar de microsoft-ondersteuningswebsite voor een volledige lijst met telefoonnummers voor microsoft-klantenservice en -ondersteuning of om een afzonderlijke serviceaanvraag te maken.
Deze update verwijderen
-
Open in Configuratiescherm het item Programma's en onderdelen en selecteer vervolgens Geïnstalleerde updates weergeven.
-
Zoek de vermelding die overeenkomt met dit cumulatieve updatepakket onder SQL Server 2017.
-
Houd de vermelding ingedrukt (of klik met de rechtermuisknop) en selecteer Vervolgens Verwijderen.
Als u deze CU in Linux wilt verwijderen, moet u het pakket terugdraaien naar de vorige versie.
Zie Terugdraaien SQL Server voor meer informatie over het terugdraaien van de installatie.
Disclaimer voor informatie van derden
De producten van derden die in dit artikel worden besproken, worden geproduceerd door bedrijven die onafhankelijk zijn van Microsoft. Microsoft geeft geen garantie, impliciet of anderszins, met betrekking tot de prestaties of betrouwbaarheid van deze producten.
Verwijzingen
-
Aankondiging van updates voor het SQL Server Incremental Servicing Model (ISM)
-
SQL Server servicepacks worden stopgezet vanaf SQL Server 2017
-
Het script om te bepalen welke versie en editie van SQL Server Database Engine wordt uitgevoerd
-
Het incrementele onderhoudsmodel voor SQL Server om hotfixes te leveren voor gemelde problemen
-
Naamgevingsschema voor Microsoft SQL Server software-updatepakketten