KB4557397 - Aggiornamento cumulativo 21 per SQL Server 2017
Articolo
Si applica a:
SQL Server 2017 on Windows, SQL Server 2017 on Linux
Data di rilascio: 1° luglio 2020 Versione: 14.0.3335.7
Riepilogo
Questo articolo descrive il pacchetto di aggiornamento cumulativo 21 (CU21) per Microsoft SQL Server 2017. Questo aggiornamento contiene 32 correzioni rilasciate dopo il rilascio dell'aggiornamento cumulativo 20 di SQL Server 2017 e aggiorna i componenti nelle build seguenti:
SQL Server - Versione del prodotto: 14.0.3335.7, versione del file: 2017.140.3335.7
Analysis Services - Versione del prodotto: 14.0.249.51, versione del file: 2017.140.249.51
Problemi noti in questo aggiornamento
Esiste un problema noto che influisce sulle funzionalità Filestream e FileTable nei sistemi operativi Windows Server 2012 e Windows 8. Non applicare questo CU se si usa una di queste funzionalità di SQL Server ed è in esecuzione in uno di questi sistemi operativi identificati.
Miglioramenti e correzioni inclusi in questo aggiornamento
È disponibile una cartella di lavoro di Excel scaricabile che contiene un elenco di riepilogo delle compilazioni, insieme al ciclo di vita del supporto corrente. Il file di Excel contiene anche elenchi dettagliati delle correzioni per SQL Server 2019 e SQL Server 2017. Selezionare questa opzione per scaricare il file di Excel.
Nota
È possibile fare riferimento a singole voci nella tabella seguente direttamente tramite un segnalibro. Se si seleziona un ID riferimento di bug nella tabella, all'URL viene aggiunto un tag segnalibro usando il formato "#NNNNNNNN". È quindi possibile condividere questo URL con altre persone in modo che possano passare direttamente alla correzione desiderata nella tabella.
Per altre informazioni sui bug risolti e sui miglioramenti inclusi in questo aggiornamento di manutenzione, vedere gli articoli della Microsoft Knowledge Base seguenti.
Quando si usa mashup per importare da Active Directory usando la query M predefinita generata dalla connessione guidata, è possibile che venga visualizzato "Errore di espressione chiave: la chiave non corrisponde ad alcuna riga nella tabella".
Si supponga di eseguire una query MDX con YTD e di selezionare più membri nella colonna. Si noti che il risultato non corretto può restituire nell'istanza tabulare di SSAS. Tuttavia, il risultato corretto restituisce se si esegue la query MDX simile con YTD, ma si seleziona ogni singolo membro nella colonna.
Quando si tenta di aggiornare un modello che contiene molte misure con USERELATIONSHIP funzione, SSAS può richiedere molti minuti prima di inviare query da leggere dall'origine dati. Questa correzione può migliorare le prestazioni di elaborazione e le query dell'origine dati verranno inviate molto presto dopo il passaggio iniziale "algoritmo del punto di sequenza".
Si verifica un errore quando si crea un cubo di sessione in un database e quindi si tenta di eseguire query da tale cubo di sessione in SQL Server 2017.
"Server: l'operazione è stata annullata perché non è disponibile memoria sufficiente per l'applicazione. Se si usa una versione a 32 bit del prodotto, è consigliabile eseguire l'aggiornamento alla versione a 64 bit o aumentare la quantità di memoria disponibile nel computer."
In questo modo, le prestazioni di esecuzione delle query MDX vengono migliorate rispetto a una gerarchia utente di dimensioni non corretta (set di proprietà HidememberIf) e ha un livello di gerarchia profonda nell'istanza multidimensionale di SSAS.
Correzioni di una durata prolungata per la distribuzione del progetto di Integration Services tramite PowerShell migliorando la ricerca dei messaggi operativi nel processo di distribuzione.
La descrizione della colonna scompare dopo l'esportazione/importazione di modelli tramite MDSModelDeploy per un'entità richiesta di approvazione in SQL Server 2017.
I componenti di installazione di R non riescono a scaricare i file CAB quando TLS 1.0 è disabilitato. Questo aggiornamento include una nuova versione di installazione di R per aggiungere il supporto per TLS1.2.
Quando si usano tabelle FileTable in SQL Server, è possibile notare che i dump vengono generati periodicamente che contengono un'asserzione nella funzione FFtFileObject::ProcessPostCreate. In alcuni ambienti, questi dump possono attivare un failover (FtFileObject::P rocessPostCreate file = fftfo.cpp riga = <LineNumber>expression = FALSE).
Corregge un'eccezione di asserzione (Location:sosmemobj.cpp:LineNumber, Expression: pvb-FInUse> ()) durante l'esecuzione di query sulla DMV sys.dm_hadr_automatic_seeding.
Questo aggiornamento contiene un miglioramento per l'ottimizzazione del blocco a livello di oggetto nelle repliche secondarie dei gruppi di disponibilità AlwaysOn e risolve la contesa di blocco dello schema nel rollforward della replica secondaria, quando il numero di processori logici è elevato.
sys.key_constraints restituisce due righe (duplicate) per un indice se si dispone di un ID componente XML con un ID uguale a quello object_id di una chiave primaria.
I tipi di dati spaziali (Geometry e Geography) vengono implementati come tipi di dati CLR in SQL Server. Quando il dominio applicazione che ospita le strutture del tipo di dati spaziali viene scaricato, il motore considera questo oggetto come modifica dello schema agli oggetti sottostanti a cui viene fatto riferimento nel cursore. Di conseguenza, la query spaziale potrebbe non riuscire con un messaggio di errore correlato quando viene rilevata la modifica dello schema.
L'eccezione di violazione di accesso si verifica quando una query che fa riferimento a una funzione di partizione non esistente viene eseguita in SQL Server 2017.
La DELETE tabella from CONSTITUENT in SQL Server 2017 ha esito negativo con errore anche quando la tabella non contiene righe corrispondenti nelle tabelle a cui si fa riferimento.
Msg 547, Level 16, State 0, LineNumber L'istruzione DELETE è in conflitto con il vincolo REFERENCE "ConstraintName". Il conflitto si è verificato nel database "DatabaseName", tabella "TableName", colonna 'ColumnName'. L'istruzione è stata terminata.
Questo miglioramento può forzare la disattivazione dell'opzione Query Store specificando l'opzione FORCED aggiuntiva nel ALTER DB comando . FORCED l'opzione consente di disattivare Query Store immediatamente interrompendo tutte le attività in background. ALTER DATABASE {0} SET QUERY_STORE = OFF (FORCED)
Come ottenere o scaricare questo pacchetto di aggiornamento cumulativo per Windows da Microsoft Update Catalog
Nota
Dopo il rilascio degli aggiornamenti cumulativi futuri per SQL Server 2017, è possibile scaricare tutte le CPU precedenti dal catalogo di Microsoft Update. È tuttavia consigliabile installare sempre l'aggiornamento cumulativo più recente disponibile.
L'aggiornamento seguente è disponibile nel catalogo di Microsoft Update:
Come ottenere o scaricare il pacchetto di aggiornamento cumulativo più recente per Linux
Per aggiornare SQL Server 2017 in Linux alla versione più recente dell'aggiornamento cumulativo, è prima necessario configurare il repository degli aggiornamenti cumulativi. Aggiornare quindi i pacchetti di SQL Server usando il comando di aggiornamento specifico della piattaforma appropriato.
Per istruzioni sull'installazione e collegamenti diretti ai download del pacchetto CU, vedere le note sulla versione di SQL Server 2017.
Informazioni sui file
Informazioni sull'hash dei file
È possibile verificare il download calcolando l'hash del file SQLServer2017-KB4557397-x64.exe tramite il comando seguente:
Informazioni sul file del pacchetto di aggiornamento cumulativo
La versione inglese di questo pacchetto include gli attributi del file (o attributi di file successivi) elencati nella tabella seguente. Le date e le ore per questi file sono elencate nell'ora UTC (Coordinated Universal Time). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per trovare la differenza tra l'ora UTC e l'ora locale, usare la scheda Fuso orario nell'elemento Data e ora in Pannello di controllo.
Per applicare questo pacchetto di aggiornamento cumulativo, è necessario eseguire SQL Server 2017.
Informazioni sul riavvio
Potrebbe essere necessario riavviare il computer dopo aver applicato questo pacchetto di aggiornamento cumulativo.
Informazioni sul Registro di sistema
Per usare uno degli hotfix in questo pacchetto, non è necessario apportare modifiche al Registro di sistema.
Avvisi importanti
Questo articolo fornisce anche informazioni importanti sulle situazioni seguenti:
Pacemaker: una modifica comportamentale viene apportata nelle distribuzioni che usano la versione più recente disponibile di Pacemaker. Vengono forniti metodi di mitigazione.
Query Store: è necessario eseguire questo script se si usa Query Store ed è stato installato in precedenza Microsoft SQL Server 2017 Cumulative Update 2 (CU2).
Versione di compilazione cu di Analysis Services
A partire da Microsoft SQL Server 2017, il numero di versione di build di Analysis Services e SQL Server motore di database numero di versione di build non corrispondono. Per altre informazioni, vedere Verificare la versione della build di aggiornamento cumulativo di Analysis Services.
Aggiornamenti cumulativi (CU)
Gli aggiornamenti cumulativi sono ora disponibili nell'Area download Microsoft.
Solo il cu più recente rilasciato per SQL Server 2017 è disponibile nell'Area download.
Ogni nuovo CU contiene tutte le correzioni incluse nel cu precedente per la versione installata di SQL Server.
Le UNITÀ di configurazione di SQL Server sono certificate per gli stessi livelli dei Service Pack e devono essere installate allo stesso livello di attendibilità.
È consigliabile installare in modo proattivo e continuativo le UNITÀ di configurazione non appena diventano disponibili in base a queste linee guida: - I dati cronologici indicano che un numero significativo di casi di supporto implica un problema già risolto in un CU rilasciato. - Le CPU possono contenere un valore aggiunto oltre e versioni successive degli hotfix. Sono inclusi gli aggiornamenti di supporto, gestibilità e affidabilità.
È consigliabile testare le CPU di SQL Server prima di distribuirle in ambienti di produzione.
Avviso pacemaker
IMPORTANTE
Tutte le distribuzioni (incluse RHEL 7.3 e 7.4) che usano la versione più recente del pacchetto Pacemaker disponibile 1.1.18-11.el7 introducono una modifica del comportamento per l'impostazione del start-failure-is-fatal cluster se il relativo valore è false. Questa modifica influisce sul flusso di lavoro del failover. Se si verifica un'interruzione in una replica primaria, è previsto il failover del cluster in una delle repliche secondarie disponibili. Al contrario, gli utenti noteranno che il cluster continuerà a provare ad avviare la replica primaria che ha subito l'interruzione. Se la replica primaria non torna mai online, a causa di un'interruzione permanente, il cluster non esegue mai il failover in un'altra replica secondaria disponibile.
Questo problema interessa tutte le versioni di SQL Server, indipendentemente dalla versione dell'aggiornamento cumulativo in cui si trovano.
Per attenuare il problema, usare uno dei metodi seguenti.
Metodo 1
Seguire questa procedura:
Rimuovere l'override start-failure-is-fatal dal cluster esistente.
# RHEL, proprietà Ubuntu pcs 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, proprietà Ubuntu pcs set cluster-recheck-interval=<Xmin> # SLES crm configure property cluster-recheck-interval=<Xmin>
Aggiungere la failure-timeout meta proprietà a ogni risorsa del gruppo di disponibilità.
# RHEL, Ubuntu pcs resource update ag1 meta failure-timeout=60s # SLES crm configure edit ag1 # Nell'editor di testo aggiungere 'meta failure-timeout=60s' dopo qualsiasi 'param's e prima di qualsiasi 'op's
Nota
In questo codice sostituire il valore di <Xmin> in base alle esigenze. Se una replica diventa inattiva, il cluster prova a riavviare la replica in base a un intervallo associato ai valori di failure-timeout e cluster-recheck-interval. Se, ad esempio, failure-timeout è impostato su 60 secondi e cluster-recheck-interval su 120, viene eseguito un tentativo di riavvio in base a un intervallo superiore a 60 secondi ma inferiore a 120. È consigliabile impostare su failure-timeout60s e cluster-recheck-interval su un valore maggiore di 60 secondi. È consigliabile non impostare cluster-recheck-interval su un valore ridotto. Per altre informazioni, vedere la documentazione di Pacemaker o consultare il provider di sistema.
Metodo 2
Ripristinare Pacemaker versione 1.1.16.
Avviso di Query Store
IMPORTANTE
È necessario eseguire questo script se si usa Query Store e si esegue l'aggiornamento da SQL Server 2017 Cumulative Update 2 (CU2) direttamente a SQL Server 2017 Cumulative Update 3 (CU3) o a qualsiasi aggiornamento cumulativo successivo. Non è necessario eseguire questo script se in precedenza è stato installato l'aggiornamento cumulativo 3 (CU3) di SQL Server 2017 o un aggiornamento cumulativo successivo di SQL Server 2017.
SQL
SET NOCOUNT ON;
DROPTABLEIFEXISTS #tmpUserDBs;
SELECT [database_id], 0AS [IsDone]
INTO #tmpUserDBs
FROM master.sys.databases
WHERE [database_id] > 4AND [state] = 0-- must be ONLINEAND is_read_only = 0-- cannot be READ_ONLYAND [database_id] NOTIN (SELECT dr.database_id FROM sys.dm_hadr_database_replica_states dr -- Except all local Always On secondary replicasINNERJOIN sys.dm_hadr_availability_replica_states rs ON dr.group_id = rs.group_id
INNERJOIN sys.databases d ON dr.database_id = d.database_id
WHERE rs.role = 2-- Is SecondaryAND dr.is_local = 1AND rs.is_local = 1)
DECLARE @userDB sysname;
WHILE (SELECTCOUNT([database_id]) FROM #tmpUserDBs WHERE [IsDone] = 0) > 0BEGINSELECT 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] = 1WHERE [database_id] = DB_ID(@userDB)
END
Distribuzione dell'ambiente ibrido
Quando si distribuisce un aggiornamento in un ambiente ibrido, ad esempio Always On, replica, cluster e mirroring, è consigliabile fare riferimento agli articoli seguenti prima di distribuire l'aggiornamento:
Se è stato abilitato Always On insieme al catalogo SSISDB , vedere le informazioni su SSIS con Always On su come applicare un aggiornamento in questi ambienti.
Le CPU di SQL Server sono attualmente multilingue. Pertanto, questo pacchetto CU non è specifico di una lingua. Si applica a tutte le lingue supportate.
Componenti (funzionalità) aggiornati
Un pacchetto cu include tutti gli aggiornamenti disponibili per tutti i componenti di SQL Server 2017 (funzionalità). Tuttavia, il pacchetto di aggiornamento cumulativo aggiorna solo i componenti attualmente installati nell'istanza di SQL Server selezionata per il servizio. Se all'istanza viene aggiunta una funzionalità di SQL Server, ad esempio Analysis Services, dopo l'applicazione del cu, è necessario riapplicare questo cu per aggiornare la nuova funzionalità a questo cu.
Supporto per questo aggiornamento
Se si verificano altri problemi o se è necessaria una risoluzione dei problemi, potrebbe essere necessario creare una richiesta di servizio. I soliti costi di supporto si applicano a domande di supporto aggiuntive 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 e del supporto tecnico Microsoft o per creare una richiesta di servizio separata, visitare il sito Web del supporto Tecnico Microsoft.
Come disinstallare questo aggiornamento
Come disinstallare questo aggiornamento in Windows
In Pannello di controllo aprire l'elemento Programmi e funzionalità e quindi selezionare Visualizza aggiornamenti installati.
Individuare la voce corrispondente a questo pacchetto di aggiornamento cumulativo in SQL Server 2017.
Tenere premuto (o fare clic con il pulsante destro del mouse) sulla voce e quindi scegliere Disinstalla.
Come disinstallare questo aggiornamento in Linux
Per disinstallare questo cu in Linux, è necessario eseguire il rollback del pacchetto alla versione precedente. Per altre informazioni su come eseguire il rollback dell'installazione, vedere Rollback di SQL Server.
Dichiarazione di non responsabilità sulle informazioni di terze parti
I prodotti di terze parti citati in questo articolo sono realizzati da società indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia implicita o esplicita relativa alle prestazioni o all'affidabilità di tali prodotti.
Amministrare un'infrastruttura di database SQL Server per database relazionali, ibridi, locali e cloud con le offerte di database relazionali Microsoft PaaS.
Questo articolo contiene il riepilogo, i problemi noti, i miglioramenti, le correzioni e altre informazioni per l'aggiornamento cumulativo di SQL Server 2017 (KB4541283).
Questo articolo contiene il riepilogo, i problemi noti, i miglioramenti, le correzioni e altre informazioni per l'aggiornamento cumulativo 22 di SQL Server 2017 (KB4577467).
Questo articolo contiene il riepilogo, i problemi noti, i miglioramenti, le correzioni e altre informazioni per l'aggiornamento cumulativo di SQL Server 2017 23 (KB5000685).
Questo articolo contiene il riepilogo, i problemi noti, i miglioramenti, le correzioni e altre informazioni per l'aggiornamento cumulativo di SQL Server 2017 24 (KB5001228).
Questo articolo contiene il riepilogo, i problemi noti, i miglioramenti, le correzioni e altre informazioni per l'aggiornamento cumulativo 18 di SQL Server 2017 (KB4527377).
Questo articolo contiene il riepilogo, i problemi noti, i miglioramenti, le correzioni e altre informazioni per l'aggiornamento cumulativo 31 di SQL Server 2017 (KB5016884).
Questo articolo contiene il riepilogo, i problemi noti, i miglioramenti, le correzioni e altre informazioni per l'aggiornamento cumulativo 19 di SQL Server 2017 (KB4535007).
Questo articolo contiene il riepilogo, i problemi noti, i miglioramenti, le correzioni e altre informazioni per l'aggiornamento cumulativo di SQL Server 2017 26 (KB5005226).