KB5006944 - Aggiornamento cumulativo 27 per SQL Server 2017
Data di rilascio:
27/10/2021
Versione:
14.0.3421.10
Riepilogo
Questo articolo descrive il pacchetto di aggiornamento cumulativo 27 (CU27) per Microsoft SQL Server 2017. Questo aggiornamento contiene 12 correzioni rilasciate dopo il rilascio dell'aggiornamento cumulativo 26 di SQL Server 2017 e aggiorna i componenti alle build seguenti.
-
SQL Server - Versione prodotto: 14.0.3421.10, versione file: 2017.140.3421.10
-
Analysis Services - Versione prodotto: 14.0.249.83, versione file: 2017.140.249.83
Problemi noti con questo aggiornamento
Non ci sono problemi noti con questo aggiornamento cumulativo.
Miglioramenti e correzioni inclusi in questo aggiornamento cumulativo
È disponibile una cartella di lavoro di Excel scaricabile che contiene un elenco di riepilogo delle build, insieme al relativo ciclo di vita del supporto corrente. Il file di Excel contiene anche elenchi dettagliati di correzioni per SQL Server 2019 e SQL Server 2017. Fare clic per scaricare il file di Excel.
Nota: Le singole voci della tabella seguente possono essere referenziate direttamente tramite un segnalibro. Se si fa clic su un ID riferimento di bug nella tabella, si noterà che all'URL viene aggiunto un tag di segnalibro usando questo formato #bkmk_NNNNNNNN. È quindi possibile condividere questo URL con altri utenti in modo che possano passare direttamente alla correzione desiderata nella tabella.
Riferimento per bug |
Numero dell'articolo della Knowledge Base |
Descrizione |
Correggi area |
Piattaforma |
|
---|---|---|---|---|---|
5007158 |
SQL Engine |
Tutti |
|||
5007039 |
SQL Engine |
Windows |
|||
5007381 |
SQL Engine |
Windows |
|||
Impedisce la pulizia fantasma di attivare un dump di memoria durante il timeout del latch in SQL Server 2019 |
SQL Engine |
Windows |
|||
Risoluzione di un problema a causa del quale l'installazione dell'istanza del cluster di failover (FCI) non riesce nei nodi secondari di un gruppo di scalabilità orizzontale PolyBase in un'edizione standard di SQL Server 2019. Ecco il messaggio di errore: L'impostazione di scaleout specificata per Polybase non è la stessa specificata per il nodo attivo nel cluster di failover SQL Server. Per continuare, specificare False per l'impostazione. |
SQL Engine |
Windows |
|||
Risolve un deadlock tra query che si verifica con determinate query quando è abilitata la funzionalità di troncamento dettagliato |
SQL Engine |
Windows |
|||
Risolve l'asserzione non riuscita che si verifica a causa di una conversione implicita in cui la precisione del predicato è maggiore del valore: Msg 3624, Livello 20, Stato 1, LineNumber Un controllo dell'asserzione di sistema non è riuscito. Per informazioni dettagliate, controllare il log degli errori SQL Server. In genere, un errore di asserzione è causato da un bug del software o dal danneggiamento dei dati. Per verificare se il database è danneggiato, è consigliabile eseguire DBCC CHECKDB. Se hai accettato di inviare dump a Microsoft durante l'installazione, un mini dump verrà inviato a Microsoft. Un aggiornamento potrebbe essere disponibile da Microsoft nel Service Pack più recente o in un aggiornamento rapido dal supporto tecnico. Msg 596, Livello 21, Stato 1, LineNumber Non è possibile continuare l'esecuzione perché la sessione è nello stato kill. Msg 0, Level 20, State 0, LineNumber Si è verificato un grave errore nel comando corrente. I risultati, se presenti, devono essere scartati. |
SQL Engine |
Windows |
|||
Risolve un problema a causa del quale una voce di nome non corretta in sys.servers può causare la rimozione della replica del gruppo di disponibilità di Always On (AG) quando il nome del server non corrisponde al nome host di Windows |
Disponibilità elevata |
Windows |
|||
Risolve un problema a causa del quale l'aggiornamento cumulativo non riesce con il messaggio seguente quando si imposta la directory di dati predefinita su Archiviazione BLOB di Azure URL: Il formato del percorso specificato non è supportato. Tipo di eccezione "System.NotSupportedException" Nota Per risolvere il problema, è possibile modificare la directory predefinita dei dati in una directory locale ed eseguire di nuovo la patch SQL. |
Installazione & installazione |
Windows |
|||
Risolve un problema relativo alla versione dell'evento esteso in Alwayson_health sessione non viene modificata automaticamente durante l'aggiornamento cumulativo e il downgrade |
Disponibilità elevata |
Windows |
|||
Risoluzione di un problema a causa del quale l'output di sp_pkeys KEY_SEQ colonna non è conforme all'ordinamento delle colonne definito nella chiave primaria |
SQL Engine |
Windows |
|||
Risolve un'eccezione di violazione di accesso che può verificarsi quando viene eseguita sp_server_diagnostics |
Disponibilità elevata |
Windows |
Come ottenere o scaricare questo o l'ultimo pacchetto di aggiornamento cumulativo
Nell'Area download Microsoft è disponibile l'aggiornamento seguente:
Scarica il pacchetto di aggiornamento cumulativo più recente per SQL Server 2017
Se la pagina di download non viene visualizzata, contatta il supporto tecnico Microsoft per ottenere il pacchetto di aggiornamento cumulativo.
Nota: Dopo il rilascio di aggiornamenti cumulativi futuri per SQL Server 2017, questo aggiornamento e tutti gli aggiornamenti cumulativi precedenti possono essere scaricati da Microsoft Update Catalog. Tuttavia, è consigliabile installare sempre l'aggiornamento cumulativo più recente disponibile.
Dal Microsoft Update Catalog è disponibile l'aggiornamento seguente:
Scarica subito il pacchetto di aggiornamento cumulativo per SQL Server 2017 CU 27
Per aggiornare Linux all'aggiornamento dell'aggiornamento cumulativo più recente, è necessario prima configurare il repository degli aggiornamenti cumulativi. Quindi, aggiorna i pacchetti di SQL Server utilizzando il comando di aggiornamento specifico della piattaforma appropriato.
Per istruzioni di installazione e collegamenti diretti ai download del pacchetto cu, vedere le note sulla versione.
Informazioni sui file
È possibile verificare il download calcolando l'hash del file SQLServer2017-KB5006944-x64.exe tramite il seguente comando:
certutil -hashfile SQLServer2017-KB5006944-x64.exe SHA256
Nome file |
Hash SHA256 |
---|---|
SQLServer2017-KB5006944-x64.exe |
CCFA4DC8C7D39B2C3BC5F97067C8C57E72D7F9180AD5AABCC0B5D86E41513E66 |
La versione in lingua inglese di questo pacchetto contiene gli attributi di file (o attributi di file successivi) elencati nella tabella seguente. Le date e le ore di questi file sono espresse nel formato UTC (Coordinated Universal Time). Quando esaminate le informazioni del file, viene convertito in orario locale. Per trovare la differenza tra UTC e l'ora locale, usare la scheda Fuso orario nell'elemento Data e ora in Pannello di controllo.
Versioni basate su x64
SQL Server 2017 Analysis Services
SQL Server 2017 Database Services Common Core
Data Quality Client SQL Server 2017
Qualità dei dati di SQL Server 2017
sql_dreplay_client SQL Server 2017
sql_dreplay_controller SQL Server 2017
Istanza di base di Servizi database di SQL Server 2017
SQL Server 2017 Database Services Core Shared
sql_extensibility SQL Server 2017
Motore Full-Text SQL Server 2017
sql_inst_mr SQL Server 2017
SQL Server 2017 Integration Services
sql_polybase_core_inst SQL Server 2017
sql_shared_mr SQL Server 2017
sql_tools_extensions SQL Server 2017
|
Note per questo aggiornamento
Per applicare questo pacchetto di aggiornamento cumulativo, è necessario eseguire SQL Server 2017.
Dopo aver applicato questo pacchetto di aggiornamento cumulativo, potrebbe essere necessario riavviare il computer.
Per utilizzare uno degli aggiornamenti rapidi in questo pacchetto, non è necessario apportare modifiche al Registro di sistema.
Questo articolo fornisce anche informazioni importanti sulle seguenti situazioni:
-
Pacemaker : viene apportata una modifica comportamentale nelle distribuzioni che utilizzano l'ultima versione disponibile di Pacemaker. Vengono forniti metodi di attenuazione.
-
Query Store : è necessario eseguire questo script se si usa il Query Store e in precedenza è stato installato l'aggiornamento cumulativo 2 (CU2) di Microsoft SQL Server 2017.
Versione della build CU di Analysis Services
A partire da SQL Server 2017, il numero di versione della build di Analysis Services e SQL Server numero di versione della build Del motore di database non corrispondono. Per altre informazioni, vedere Verificare la versione della build di aggiornamento cumulativo di Analysis Services.
Aggiornamenti cumulativi
Gli aggiornamenti cumulativi sono ora disponibili nell'Area download Microsoft.
Nell'Area download è disponibile solo l'aggiornamento cu più recente rilasciato per SQL Server 2017.
I pacchetti CU per Linux sono disponibili all'indirizzo https://packages.microsoft.com/.
Note
-
Ogni nuovo cu contiene tutte le correzioni che sono stati inclusi con l'CU precedente per la versione installata di SQL Server.
-
SQL Server gli aggiornamenti della sicurezza sono certificati agli stessi livelli dei Service Pack e devono essere installati con lo stesso livello di sicurezza.
-
È consigliabile un'installazione proattiva e continua di aggiornamenti della sicurezza quando diventano disponibili in base alle linee guida seguenti:
-
I dati cronologici mostrano che un numero significativo di casi di supporto implica un problema che è già stato risolto in un'cu rilasciata.
-
Gli aggiornamenti rapidi possono contenere valore aggiunto oltre agli aggiornamenti rapidi. Sono inclusi gli aggiornamenti di supporto, gestibilità e affidabilità.
-
-
È consigliabile testare gli aggiornamenti della sicurezza prima di distribuirli in ambienti di produzione.
IMPORTANTE
Tutte le distribuzioni (inclusi RHEL 7.3 e 7.4) che utilizzano l'ultimo pacchetto Pacemaker disponibile 1.1.18-11.el7 introducono una modifica del comportamento per l'impostazione del cluster start-failure-is-fatal se il relativo valore è false. Questa modifica influisce sul flusso di lavoro di failover. Se una replica principale riscontra un'interruzione, è previsto che il failover del cluster su una delle repliche secondarie disponibili. Gli utenti noteranno invece che il cluster continua a tentare di avviare la replica primaria non riuscita. Se l'elemento primario non viene mai online (a causa di un'interruzione permanente), il cluster non esegue mai il passaggio a un'altra replica secondaria disponibile.
Questo problema interessa tutte le versioni SQL Server, indipendentemente dalla versione di aggiornamento cumulativo in cui si trovano.
Per attenuare il problema, usa uno dei metodi seguenti.
Metodo 1
attenersi alla seguente procedura:
-
Rimuovere l'override di avvio-errore-is-fatale dal cluster esistente.
# RHEL, Ubuntu pcs proprietà unset start-failure-is-fatal # o pcs proprietà set start-failure-is-fatal=true # SLES crm configure property start-failure-is-fatal=true -
Diminuire il valore cluster-recheck-interval .
# RHEL, Ubuntu pcs property set cluster-recheck-interval=<Xmin> # SLES crm configure property cluster-recheck-interval=<Xmin> -
Aggiungere la proprietà meta failure-timeout a ogni risorsa AG.
# RHEL, Ubuntu pcs resource update ag1 meta failure-timeout=60s # SLES crm configure edit ag1 # Nell'editor di testo, aggiungi 'meta failure-timeout=60s' dopo qualsiasi 'param' e prima di qualsiasi 'op'sNote In questo codice sostituire il valore di <> Xmin in base alle esigenze. Se una replica va giù, il cluster tenta di riavviare la replica a un intervallo associato dal valore di timeout di errore e dal valore cluster-recheck-interval . Ad esempio, se il timeout degli errori è impostato su 60 secondi e l'intervallo di ricontrollo cluster è impostato su 120 secondi, il riavvio viene eseguito con un intervallo maggiore di 60 secondi ma inferiore a 120 secondi. È consigliabile impostare il timeout degli errori su 60s e l'intervallo di controllo del cluster su un valore maggiore di 60 secondi. È consigliabile non impostare cluster-recheck-interval su un valore piccolo. Per ulteriori informazioni, consulta la documentazione di Pacemaker o consulta il provider di sistema.
Metodo 2
Ripristina pacemaker versione 1.1.16.
IMPORTANTE
È necessario eseguire questo script se si usa Query Store e si sta eseguendo l'aggiornamento da SQL Server 2017 Cumulative Update 2 (CU2) direttamente a SQL Server 2017 Cumulative Update 3 (CU3) o qualsiasi aggiornamento cumulativo successivo. Non è necessario eseguire questo script se in precedenza è stato installato l'aggiornamento cumulativo 3 (CU3) di SQL Server 2017 o qualsiasi altro aggiornamento cumulativo SQL Server 2017 successivo.
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
Quando si distribuisce un aggiornamento in un ambiente ibrido, ad esempio AlwaysOn, la replica, il cluster e il mirroring, è consigliabile fare riferimento agli articoli seguenti prima di distribuire l'aggiornamento:
-
SQL Server processo
di aggiornamento e service pack del cluster di failoverNota Se non si vuole usare il processo di aggiornamento in distribuzione, seguire questa procedura per applicare un aggiornamento:-
Installa l'aggiornamento nel nodo passivo.
-
Installa l'aggiornamento nel nodo attivo (è necessario un riavvio del servizio).
-
-
Aggiornamento dei server dei gruppi di disponibilità che usano tempi di inattività e perdita di
dati minimi Nota Se è stato abilitato AlwaysOn con il catalogo SSISDB, vedere le informazioni su SSIS con AlwaysOn per altre informazioni su come applicare un aggiornamento in questi ambienti. -
Come applicare un hotfix per SQL Server in una topologia di replica
SQL Server Aggiornamenti cumulativo sono attualmente multilingue. Di conseguenza, questo pacchetto di aggiornamento cumulativo non è specifico di una lingua. Si applica a tutte le lingue supportate.
Un pacchetto di aggiornamento cumulativo include tutti gli aggiornamenti disponibili per TUTTI i componenti (funzionalità) di SQL Server 2017. Tuttavia, il pacchetto di aggiornamento cumulativo aggiorna solo i componenti attualmente installati nell'istanza di SQL Server che si seleziona di richiedere assistenza. Se all'istanza viene aggiunta una funzionalità di SQL Server, ad esempio Analysis Services, dopo l'applicazione dell'aggiornamento cumulativo, è necessario riapplicare l'cu.
Se si verificano altri problemi o se è necessaria una risoluzione dei problemi, potrebbe essere necessario creare una richiesta di servizio. I soliti costi del supporto si applicano a ulteriori domande di supporto e a problemi che non sono idonei per questo pacchetto di aggiornamento cumulativo specifico. Per un elenco completo dei numeri di telefono del servizio clienti Microsoft e del supporto tecnico Microsoft o per creare una richiesta di assistenza separata, visita il sito Web del supporto tecnico Microsoft.
Come disinstallare questo aggiornamento
-
In Pannello di controllo, apri l'elemento Programmi e funzionalità e quindi seleziona Visualizza aggiornamenti installati.
-
Individua la voce che corrisponde a questo pacchetto di aggiornamento cumulativo in SQL Server 2017.
-
Tieni premuto o fai clic con il pulsante destro del mouse sulla voce e quindi seleziona Disinstalla.
Per disinstallare questo CU su Linux, è necessario eseguire il rollback del pacchetto alla versione precedente.
Per altre informazioni su come eseguire il rollback dell'installazione, vedere Ripristinare SQL Server.
Dichiarazione di non responsabilità per le informazioni di terze parti
I prodotti di terze parti descritti in questo articolo sono prodotti da società indipendenti da Microsoft. Microsoft non riconosce alcuna garanzia, implicita o espressa, in relazione alle prestazioni o all'affidabilità di questi prodotti.
Riferimenti
-
Annuncio di aggiornamenti per il modello di manutenzione incrementale SQL Server (ISM)
-
i Service Pack SQL Server non sono più disponibili a partire dal SQL Server 2017
-
Lo script per determinare la versione e l'edizione di SQL Server Motore di database in esecuzione
-
Schema di denominazione per i pacchetti di aggiornamento software di Microsoft SQL Server