Note sulla versione di SQL Server 2016
Si applica a: SQL Server 2016 (13.x) e versioni successive
Questo articolo descrive le limitazioni e i problemi relativi alle versioni di SQL Server 2016 (13.x), inclusi i Service Pack. Per informazioni sulle novità, vedere Novità di SQL Server 2016.
Eseguire il download di SQL Server da Evaluation Center
Avviare una macchina virtuale con SQL Server già installato
Scaricare SQL Server Management Studio (SSMS)
Azure Connect Pack per SQL Server 2016 (maggio 2022)
Aggiunge il supporto per la funzionalità di collegamento per Istanza gestita di SQL di Azure, che consente la replica di database da SQL Server a Istanza gestita di SQL di Azure.
Per altre informazioni, vedere Azure Connect Pack per SQL Server 2016 Service Pack 3.
SQL Server 2016 Service Pack 3 (SP3) (settembre 2021)
SQL Server 2016 (13.x) SP3 include tutti gli aggiornamenti cumulativi rilasciati dopo SQL Server 2016 (13.x) SP2, fino a CU17 compreso.
Scaricare SQL Server 2016 Service Pack 3 (SP3)
Per un elenco completo degli aggiornamenti, vedere KB5003279 - Informazioni sulla versione di SQL Server 2016 Service Pack 3.
L'installazione di SQL Server 2016 (13.x) SP3 potrebbe richiedere il riavvio dopo l'installazione. Come procedura consigliata, è consigliabile eseguire un riavvio dopo l'installazione di SQL Server 2016 (13.x) SP3.
Miglioramenti relativi a prestazioni e scalabilità inclusi in SQL Server 2016 (13.x) SP3.
Funzionalità | Descrizione | Altre informazioni |
---|---|---|
Listener del gruppo di disponibilità senza un bilanciatore del carico | Consente di creare un nuovo tipo di listener di Gruppo di Disponibilità (AG) denominato "listener DNN (Nome di Rete Distribuito)" senza il bilanciatore di carico. Nota: La rimozione del servizio di bilanciamento del carico riduce notevolmente la complessità della configurazione e riduce anche notevolmente la latenza di failover del gruppo di disponibilità AG (Availability Group) (fino a 6 o 7 volte per alcuni carichi di lavoro). |
KB4578579 |
Abilitare la funzionalità DNN nell'FCI di SQL Server 2016 e 2019 | I listener dell'istanza del Failover Cluster (FCI) sono migliorati per funzionare con il punto di accesso Distributed Network Name (DNN) del Windows Server Failover Cluster (WSFC). | KB4537868 |
Miglioramenti relativi a supporto e diagnostica in SQL Server 2016 (13.x) SP3.
Funzionalità | Descrizione | Altre informazioni |
---|---|---|
Migliorare il supporto e l'usabilità di CDC con i database in memoria | La funzionalità Change Data Capture (CDC) non può essere abilitata in un database abilitato per l'accesso OLTP (Online Transaction Processing) In-Memory. Questo miglioramento sblocca l'abilitazione di CDC in un database con OLTP e oggetti in memoria. Inoltre, il cdc_session XEvent viene aggiornato per stampare le informazioni sulla fase di scansione. |
KB4500511 |
Le dimensioni e i criteri di conservazione vengono aumentati nella traccia XEvent predefinita system_health |
La definizione corrente per la sessione XEvent system_health ha una dimensione massima di file di 5 megabyte (MB) e un numero massimo di file pari a 4, per un massimo di 20 MB di dati XEvent system_health . Nei sistemi che hanno molta attività, è possibile superare rapidamente questo limite e perdere informazioni importanti in caso di un problema che influisce sul sistema. Per mantenere disponibili altri dati di risoluzione dei problemi nel sistema, le dimensioni predefinite del file sono state modificate da 5 MB a 100 MB e il numero predefinito di file è stato modificato da 4 a 10, per un massimo di 1 GB di dati XEvent system_health , in questo aggiornamento. Se la definizione della sessione di system_health è già stata modificata dai valori predefiniti, questo miglioramento non sovrascrive le impostazioni esistenti. |
KB4541132 |
Nuovi XEvent temp_table_cache_trace e temp_table_destroy_list_trace |
Vengono creati due nuovi XEvent temp_table_cache_trace e temp_table_destroy_list_trace per tenere traccia delle metriche e delle operazioni della cache delle tabelle temporanee.Nota: Questi eventi XEvent tengono traccia di un oggetto cache di metadati specifico denominato cache di oggetti temporanei, che contiene informazioni sulle tabelle temporanee, gli oggetti, i parametri vengono memorizzati nella cache, rimossi e riutilizzati. È possibile eseguire l'XEvent per tracciare il comportamento della cache quando si riscontra contesa nella cache tempdb . La maggior parte dei clienti non usa questo e consente ai tecnici CSS di eseguire il debug dei problemi nel proprio ambiente. |
KB5003937 |
Nuove registrazioni e XEvents per aiutare nella diagnostica dei problemi legati alle scansioni prolungate del pool di buffer. | Alcune operazioni in SQL Server attivano un'analisi del pool di buffer, ovvero la cache che archivia le pagine del database in memoria. Nei sistemi con una grande quantità di memoria, 1 TB o più, l'analisi del pool di buffer richiede molto tempo e questo rallenta l'operazione che ha attivato l'analisi. Questi nuovi XEvents possono aiutare a risolvere i problemi nelle scansioni del pool di buffer di lunga durata. | Le operazioni che analizzano il pool di buffer di SQL Server sono lente nei computer con una memoria di grandi dimensioni |
Nuovo formato di registrazione per SQL Writer | Fornisce dati aggiuntivi per la risoluzione dei problemi in un formato facilmente leggibile/analizzabile, oltre a un maggiore controllo del livello di verbosità dei log e alla possibilità di abilitare/disabilitare. | Registrazione di SQL Server VSS Writer |
Aggiunge XEvent sql_statement_post_compile |
Questo evento esteso viene attivato ogni volta che viene completata la compilazione delle query. Genera informazioni relative al fatto che, ad esempio, la compilazione della query era una compilazione iniziale o una ricompilazione, al tempo necessario per compilare la query e alla quantità di capacità della CPU usata. | KB4480630 |
Le statistiche corrotte possono essere rilevate tramite extended_logical_checks |
Quando le statistiche sono danneggiate, è possibile che venga generato un messaggio generico senza informazioni sul danneggiamento delle statistiche. Inoltre, CHECKDB potrebbe non segnalare statistiche danneggiate. Questo miglioramento può rilevare statistiche danneggiate usando extended_logical_checks come parte di DBCC CHECKDB . |
KB4530907 |
Accuratezza migliorata dell'XEvent query_plan_profile |
Il tempo e la durata della CPU segnalati dall'XEvent query_plan_profile sono più accurati. |
Infrastruttura leggera di profilazione delle statistiche di esecuzione delle query v2 |
Problemi noti
Questa sezione identifica i problemi che possono verificarsi dopo l'applicazione di SQL Server 2016 (13.x) SP3.
Servizi R che utilizzano algoritmi specifici, streaming o partizionamento
problema: le limitazioni seguenti si applicano a SQL Server 2016 (13.x) con l'aggiornamento di runtime configurato usando Modificare la versione predefinita del runtime del linguaggio R o Python o con l'installazione di sp3 slipstream. Questo problema si applica alla edizione Enterprise.
Parallelismo: il parallelismo del thread dell'algoritmo
RevoScaleR
eMicrosoftML
per gli scenari è limitato a un massimo di 2 thread.Streaming e partizionamento: gli scenari in cui il parametro
@r_rowsPerRead
passato alla funzione T-SQLsp_execute_external_script
non viene applicato.Streaming e partizionamento: le origini dati
RevoScaleR
eMicrosoftML
(cioèODBC
,XDF
) non supportano la lettura di righe in blocchi per scenari di addestramento o valutazione. Questi scenari portano sempre tutti i dati alla memoria per il calcolo e le operazioni sono associate alla memoria
Soluzione: la soluzione migliore consiste nell'eseguire l'aggiornamento a SQL Server 2019 (15.x). In alternativa, è possibile continuare a usare SQL Server 2016 (13.x) SP3, dopo aver completato le attività seguenti.
Modificare il Registro di sistema per creare una chiave
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\150
e aggiungere un valoreSharedCode
con datiC:\Program Files\Microsoft SQL Server\150\Shared
o la directory condivisa come configurato per l'istanza.Creare una cartella
C:\Program Files\Microsoft SQL Server\150\Shared and copy instapi130.dll
dalla cartellaC:\Program Files\Microsoft SQL Server\130\Shared
alla cartella appena creata.Rinominare l'oggetto
instapi130.dll
ininstapi150.dll
nella nuova cartellaC:\Program Files\Microsoft SQL Server\150\Shared
.
Importante
Se si eseguono i passaggi precedenti, è necessario rimuovere manualmente la chiave aggiunta prima di eseguire l'aggiornamento a una versione successiva di SQL Server.
Per altre informazioni, vedere Modificare la versione del runtime R in SQL Server 2016.
Errori nella pulizia del rilevamento delle modifiche
Problema: il seguente messaggio di errore si verifica dopo l'esecuzione di una stored procedure di pulizia di tracciamento delle modifiche
sp_flush_commit_table_on_demand
osp_flush_CT_internal_table_on_demand
:Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line <LineNumber> Error converting data type numeric to int.
Per altre informazioni, vedere KB5007039.
Errore dello script R
Problema: dopo aver installato SP3, l'esecuzione dello script R ha esito negativo. Lo script R fallisce con un errore simile al seguente:
Error: executable command line exceeds the 2047 characters limit.
Soluzione: disinstallare Microsoft MPI v7. Installare Microsoft MPI v10. Per altre informazioni, vedere Microsoft MPI.
Rimuovere il problema di SP3
Problema: se si rimuove SP3, vengono eliminati 20 account utente in
SQLRUserGroup
usato dal Launchpad. Qualsiasi esecuzione disp_execute_external_script
genera questo errore:Unable to launch the runtime. ErrorCode 0x80070718: 1816(Not enough quota is available to process this command.).
Soluzione: eseguire il ripristino. Ad esempio:
setup.exe /q /ACTION=Repair /INSTANCENAME=<instancename>
Per altre informazioni, vedere Riparare un'installazione di SQL Server non riuscita.
Installare SP3 con SysPrep
Problema: quando si usa SysPrep per installare SP3 con funzionalità di estendibilità, SysPrep non installa correttamente la versione SP3 del framework di estendibilità. Alcuni file binari mancano o non sono corretti. Ad esempio, manca il runtime R 3.5.2.
Soluzione: eseguire il ripristino dopo aver completato l'immagine. Ad esempio:
setup.exe /q /ACTION=Repair /INSTANCENAME=<instancename>
Per altre informazioni, vedere Riparare un'installazione di SQL Server non riuscita.
SQL Server 2016 Service Pack 2 (SP2)
SQL Server 2016 (13.x) SP2 include tutti gli aggiornamenti cumulativi rilasciati dopo SQL Server 2016 (13.x) SP1, fino a CU8 compreso.
Scarica SQL Server 2016 Service Pack 2 (SP2)
Per un elenco completo degli aggiornamenti, vedere Informazioni sulla versione Service Pack 2 di SQL Server 2016
L'installazione di SQL Server 2016 (13.x) SP2 potrebbe richiedere il riavvio dopo l'installazione. Come procedura consigliata, è consigliabile eseguire un riavvio dopo l'installazione di SQL Server 2016 (13.x) SP2.
Miglioramenti relativi a prestazioni e scalabilità inclusi in SQL Server 2016 (13.x) SP2.
Funzionalità | Descrizione | Altre informazioni |
---|---|---|
Procedura di pulizia del database di distribuzione migliorata | Una tabella di database di distribuzione sovradimensionata causa una situazione di blocco e deadlock. Grazie a una procedura di pulizia migliorata è possibile eliminare scenari di blocco e di deadlock di questo genere. | KB4040276 |
Pulizia del monitoraggio delle modifiche | Miglioramento delle prestazioni e dell'efficienza della pulizia delle tabelle ausiliarie per il Rilevamento delle modifiche. | KB4052129 |
Usare il timeout della CPU per annullare la richiesta di Resource Governor | Migliora la gestione delle richieste di query annullando effettivamente la richiesta, se vengono raggiunte le soglie della CPU per una richiesta. Questo comportamento viene abilitato tramite il flag di monitoraggio 2422. | KB4038419 |
SELECT INTO per creare la tabella di destinazione in filegroup | A partire da SQL Server 2016 (13.x) SP2, la sintassi T-SQL SELECT INTO supporta il caricamento di una tabella in un filegroup diverso da quello predefinito dell'utente usando la parola chiave ON <nome del filegroup> nella sintassi T-SQL. | |
Checkpoint indiretto migliorato per tempdb |
Il checkpoint indiretto per tempdb è stato migliorato per ridurre al minimo la contesa di spinlock in DPLists. Questo miglioramento consente al carico di lavoro tempdb su SQL Server 2016 (13.x) di scalare in modo nativo se è attivo il checkpoint indiretto per tempdb . |
KB4040276 |
Prestazioni di backup del database migliorate nei computer di memoria di grandi dimensioni | SQL Server 2016 (13.x) SP2 ottimizza la modalità di svuotamento delle operazioni di I/O in corso durante il backup, con conseguente notevole miglioramento delle prestazioni di backup per database di piccole e medie dimensioni. Si è visto un miglioramento superiore a 100 volte durante l'esecuzione di backup del database di sistema in un computer da 2 TB. Con l'aumentare delle dimensioni del database, il guadagno in termini di prestazioni si riduce perché il backup delle pagine e l'I/O di backup richiedono più tempo rispetto all'iterazione del pool di buffer. Questa modifica consente di migliorare le prestazioni di backup per i clienti che ospitano più database di piccole dimensioni in un server di grandi dimensioni con memoria elevata. | |
Supporto della compressione dei backup VDI per i database abilitati per TDE | SQL Server 2016 (13.x) SP2 aggiunge il supporto VDI per consentire alle soluzioni di backup VDI di usare la compressione per i database abilitati per TDE. Con questo miglioramento, è stato introdotto un nuovo formato di backup per supportare la compressione dei backup per i database abilitati per TDE. Il motore di database di SQL Server gestisce in modo trasparente i formati di backup nuovi e vecchi per ripristinare i backup. | |
Caricamento dinamico dei parametri dei profili agenti di replica | Questo nuovo miglioramento consente il caricamento dinamico dei parametri degli agenti di replica senza dover riavviare l'agente. Questa modifica è applicabile solo ai parametri dei profili agenti di uso più frequente. | |
Opzione MAXDOP di supporto per creazione/aggiornamento di statistiche | Questo miglioramento consente di specificare l'opzione MAXDOP per un'istruzione create/UPDATE statistics e assicurarsi che l'impostazione MAXDOP corretta venga usata quando le statistiche vengono aggiornate come parte della creazione o della ricompilazione per tutti i tipi di indici (se l'opzione MAXDOP è presente) | KB4041809 |
Aggiornamento delle statistiche automatico migliorato per le statistiche incrementali | In alcuni scenari, quando sono state apportate diverse modifiche ai dati in più partizioni in una tabella in modo che il contatore di modifiche totale per le statistiche incrementate superi la soglia di aggiornamento automatico, ma nessuna delle singole partizioni supera la soglia di aggiornamento automatico, l'aggiornamento delle statistiche potrebbe essere ritardato fino a quando non si verificano altre modifiche nella tabella. Questo comportamento è stato corretto con il trace flag 11024. |
Miglioramenti relativi a supporto e diagnostica in SQL Server 2016 (13.x) SP2.
Funzionalità | Descrizione | Altre informazioni |
---|---|---|
Supporto DTC completo per i database in un gruppo di alta disponibilità | Le transazioni tra database per i database che fanno parte di un gruppo di disponibilità non sono attualmente supportate per SQL Server 2016 (13.x). Con SQL Server 2016 (13.x) SP2, viene introdotto il supporto completo per le transazioni distribuite con i database del gruppo di disponibilità. | |
Aggiorna la colonna sys.databases.is_encrypted per riflettere accuratamente lo stato di crittografia per tempdb |
Il valore della colonna is_encryptedcolumn in sys.databases è 1 per tempdb , anche dopo aver disattivato la crittografia per tutti i database utente e riavviare SQL Server. Il comportamento previsto sarebbe che il valore per questo è 0 , poiché tempdb non è più crittografato in questa situazione. A partire da SQL Server 2016 (13.x) SP2, sys.databases.is_encrypted ora riflette in modo accurato lo stato di crittografia per tempdb . |
|
Nuove opzioni di DBCC CLONEDATABASE per generare clone e backup verificati |
Con SQL Server 2016 (13.x) SP2, DBCC CLONEDATABASE consente due nuove opzioni: produrre un clone verificato o produrre un clone di backup. Quando viene creato un database clone usando l'opzione WITH VERIFY_CLONEDB , viene creato e verificato un clone di database coerente, supportato da Microsoft per l'uso in produzione. Viene introdotta una nuova proprietà per verificare se il clone viene verificato SELECT DATABASEPROPERTYEX('clone_database_name', 'IsVerifiedClone') . Quando viene creato un clone con l'opzione BACKUP_CLONEDB , viene generato un backup nella stessa cartella del file di dati per semplificare lo spostamento del clone in un server diverso o per inviarlo al supporto tecnico Microsoft per la risoluzione dei problemi. |
|
Supporto di Service Broker (SSB) per DBCC CLONEDATABASE |
Comando DBCC CLONEDATABASE migliorato per permettere lo scripting di oggetti SSB. |
|
Nuova DMV per monitorare l'utilizzo dello spazio di archiviazione delle versioni tempdb |
Una nuova DMV sys.dm_tran_version_store_space_usage è stata introdotta in SQL Server 2016 (13.x) SP2 per consentire il monitoraggio tempdb per l'utilizzo dell'archivio versioni. Gli amministratori di database possono ora pianificare in modo proattivo il ridimensionamento tempdb in base alla necessità di utilizzo dell'archivio delle versioni per ogni database, senza alcun impatto sulle prestazioni durante l'esecuzione nei server di produzione. |
|
Supporto dei dump completi per gli agenti di replica | Oggi se gli agenti di replica riscontrano un'eccezione non gestita, l'impostazione predefinita consiste nel creare un mini dump dei sintomi dell'eccezione. Ciò rende difficile la risoluzione dei problemi relativi alle eccezioni non gestite. Tramite questa modifica viene introdotta una nuova chiave del Registro di sistema, che consente di creare un dump completo per gli agenti di replica. | |
Miglioramento degli Extended Events per l'errore di instradamento per la lettura in un gruppo di disponibilità | In precedenza, il read_only_rout_fail XEvent veniva attivato se era presente un elenco di routing, ma nessun server nell'elenco di routing era disponibile per le connessioni. SQL Server 2016 (13.x) SP2 include informazioni aggiuntive per facilitare la risoluzione dei problemi ed espandere anche i punti di codice in cui viene generato questo evento XEvent. |
|
Nuova DMV per monitorare il log delle transazioni | È stata aggiunta una nuova DMV sys.dm_db_log_stats che restituisce attributi a livello di riepilogo e informazioni sui file di log delle transazioni dei database. |
|
Un nuovo ufficio DMV per monitorare le informazioni VLF | Una nuova dmv sys.dm_db_log_info è stata introdotta in SQL Server 2016 (13.x) SP2 per esporre le informazioni VLF simili a DBCC LOGINFO per monitorare, inviare avvisi e evitare potenziali problemi di T-Log riscontrati dai clienti. |
|
Informazioni sul processore in sys.dm_os_sys_info |
Nuove colonne aggiunte alla DMV sys.dm_os_sys_info per esporre le informazioni correlate al processore, ad esempio socket_count e cores_per_numa . |
|
Ambito delle informazioni modificate in sys.dm_db_file_space_usage |
Nuova colonna aggiunta a sys.dm_db_file_space_usage per tenere traccia del numero di extent modificati dall'ultimo backup completo. |
|
Informazioni sui segmenti in sys.dm_exec_query_stats |
Sono state aggiunte nuove colonne a sys.dm_exec_query_stats per tenere traccia del numero di segmenti columnstore ignorati e letti, ad esempio total_columnstore_segment_reads e total_columnstore_segment_skips . |
KB4051358 |
Impostazione del livello di compatibilità corretto per i database di distribuzione | Dopo l'installazione del Service Pack, il livello di compatibilità del database di distribuzione passa a 90. Ciò è dovuto a un percorso di codice in sp_vupgrade_replication stored procedure. Il Service Pack è stato modificato e ora imposta il livello di compatibilità corretto per il database di distribuzione. |
|
Mostrare l'ultima informazione valida conosciuta di DBCC CHECKDB |
È stata aggiunta una nuova opzione di database per restituire a livello di codice la data dell'ultima esecuzione di DBCC CHECKDB riuscita. Gli utenti possono ora eseguire query DATABASEPROPERTYEX([database], 'lastgoodcheckdbtime') per ottenere un singolo valore che rappresenta la data/ora dell'ultima esecuzione di DBCC CHECKDB riuscita nel database specificato. |
|
Miglioramenti del file XML dello showplan | Informazioni sulle statistiche usate per compilare il piano di query, inclusi nome delle statistiche, contatore delle modifiche, percentuale di campionamento e ora dell'ultimo aggiornamento delle statistiche. Si noti che questa funzionalità è stata aggiunta solo per i modelli CE 120 e versioni successive. Ad esempio, non è supportato per CE 70. | |
Un nuovo attributo EstimateRowsWithoutRowgoal viene aggiunto al file XML dello showplan se Query Optimizer usa la logica "obiettivo di riga". | ||
Nuovi attributi di runtime UdfCpuTime e UdfElapsedTime nel file XML dello showplan effettivo, per tenere traccia del tempo impiegato per le funzioni definite dall'utente scalari. | ||
Aggiungere il tipo di attesa CXPACKET a elenco delle prime 10 attese possibili nello showplan XML effettivo. L'esecuzione di query parallele comporta spesso attese CXPACKET, ma questo tipo di attesa non veniva riportato nel XML showplan effettivo. | ||
Esteso l'avviso di traboccamento a runtime per segnalare il numero di pagine scritte in tempdb durante un traboccamento dell'operatore di parallelismo. |
||
Supporto alla replica per database con regole di confronto per caratteri supplementari | La replica può ora essere supportata nei database che usano la regola di confronto per i caratteri supplementari. | |
Gestione corretta di Service Broker in caso di failover del gruppo di disponibilità | Nell'implementazione corrente, quando Service Broker è abilitato su un database di un gruppo di disponibilità, durante un failover dell'AG, tutte le connessioni di Service Broker originate nella replica primaria rimangono aperte. Questo miglioramento mira a chiudere tutte le connessioni aperte durante un failover di AG. | |
Miglioramenti nella gestione dei problemi legati alle attese di parallelismo | Aggiungendo una nuova attesa CXCONSUMER. | |
Miglioramento della coerenza tra DMV per le stesse informazioni | La DMV sys.dm_exec_session_wait_stats monitora costantemente le attese di CXPACKET e CXCONSUMER in modo coerente con la DMV sys.dm_os_wait_stats. |
|
Miglioramento della risoluzione dei problemi relativi ai deadlock con parallelismo interno alla query | Nuovo evento esteso exchange_spill per segnalare il numero di pagine scritte a tempdb durante un overflow dell'operatore di parallelismo, nel campo XEvent chiamato worktable_physical_writes . |
|
Le colonne spills nelle DMV sys.dm_exec_query_stats , sys.dm_exec_procedure_stats e sys.dm_exec_trigger_stats (ad esempio total_spills ) ora includono anche i dati versati dagli operatori di parallelismo. |
||
Il grafico deadlock XML è stato migliorato per gli scenari di deadlock con parallelismo, con più attributi aggiunti alla risorsa exchangeEvent. | ||
Il grafico XML dei deadlock è stato migliorato per i deadlock che coinvolgono operatori in modalità batch, con l'aggiunta di ulteriori attributi alla risorsa SyncPoint. | ||
Ricaricamento dinamico di alcuni parametri dei profili agenti di replica | Nell'implementazione corrente degli agenti di replica, per apportare modifiche al parametro del profilo dell'agente, è necessario arrestare e riavviare l'agente. Questo miglioramento consente di ricaricare dinamicamente i parametri senza dover riavviare l'agente di replica. |
SQL Server 2016 Service Pack 1 (SP1)
SQL Server 2016 (13.x) SP1 include tutti gli aggiornamenti cumulativi fino a SQL Server 2016 (13.x) RTM CU3, incluso l'aggiornamento della sicurezza MS16-136. Contiene un rollup delle soluzioni fornite negli aggiornamenti cumulativi di SQL Server 2016 (13.x) fino a e include l'aggiornamento cumulativo più recente - CU3 e aggiornamento della sicurezza MS16-136 rilasciato l'8 novembre 2016.
Le funzionalità seguenti sono disponibili nelle edizioni Standard, Web, Express e database locale di SQL Server 2016 (13.x) SP1 (ad eccezione dei casi indicati):
- Sempre Cifrato
- Acquisizione Dati Modificati (non disponibile in Express)
- Columnstore
- Compressione
- Mascheratura dinamica dei dati
- Controllo con granularità fine
- OLTP in memoria (non disponibile nel database locale)
- Contenitori multipli di Filestream (non disponibili nel DB Locale)
- Partizionamento
- PolyBase
- Protezione a livello di riga
La tabella seguente contiene un riepilogo dei principali miglioramenti disponibili in SQL Server 2016 (13.x) SP1.
Funzionalità | Descrizione | Altre informazioni |
---|---|---|
Inserimento in blocco negli heap con TABLOCK automatico sotto TF 715 | Il flag di tracciamento 715 abilita il blocco delle tabelle per le operazioni di caricamento massivo in heap senza indici non clusterizzati. | La migrazione dei carichi di lavoro SAP a SQL Server è 2,5 volte più veloce |
CREATE OR ALTER |
Consentono la distribuzione di oggetti, ad esempio stored procedure, trigger, funzioni definite dall'utente e visualizzazioni. | Blog sul motore di database di SQL Server |
Supporto DROP TABLE per la replica | Supporto DDL DROP TABLE per la replica per consentire l'eliminazione degli articoli di replica. | KB 3170123 |
Firma del driver FileStream RsFx | Il driver RsFx FileStream viene firmato e certificato usando il dashboard del centro per sviluppatori di hardware Windows (portale per sviluppatori) che consente di installare il driver RsFx FileStream di SQL Server 2016 (13.x) SP1 in Windows Server 2016 o Windows 10 senza alcun problema. | La migrazione dei carichi di lavoro SAP a SQL Server è 2,5 volte più veloce |
Account del servizio LPIM verso SQL: identificazione programmatica | Consentono agli amministratori di database di verificare a livello di programmazione se il privilegio Blocco di pagine in memoria (LPIM) è attivo al momento dell'avvio di servizio. | Scelta degli sviluppatori: identificare a livello di codice i privilegi LPIM e IFI in SQL Server |
Pulizia manuale del tracciamento delle modifiche | La nuova procedura memorizzata pulisce la tabella interna del tracciamento delle modifiche su richiesta. | KB 3173157 |
Modifiche INSERT..SELECT parallele per le tabelle temporanee locali |
Nuovo operatore INSERT parallelo nelle operazioni INSERT..SELECT. | Team di consulenza clienti di SQL Server |
Showplan XML | Diagnostica ampliata che include l'avviso di concessione, la memoria massima abilitata per una query, i flag di traccia attivati e anche altre informazioni diagnostiche. | KB 3190761 |
Memoria per classe di archiviazione | Ottimizzare l'elaborazione delle transazioni usando Storage Class Memory in Windows Server 2016, che consente di accelerare i tempi di commit delle transazioni per ordini di grandezza. | Blog sul motore di database di SQL Server |
USE HINT |
Usare l'opzione OPTION(USE HINT('<option>')) per modificare il comportamento dell'ottimizzatore di query usando i suggerimenti supportati a livello di query. A differenza di QUERYTRACEON , l'opzione USE HINT non richiede privilegi sysadmin. |
Scelta degli sviluppatori: Suggerimenti USE HINT per le query |
Aggiunte di XEvent | Nuove funzionalità di diagnostica di XEvent e Perfmon migliorano la risoluzione dei problemi di latenza. | Eventi estesi |
Inoltre, tenere presenti le correzioni seguenti:
- In base ai suggerimenti degli amministratori di database e della community di SQL, a partire da SQL 2016 SP1 i messaggi di registrazione Hekaton sono ridotti al minimo.
- Esaminare i nuovi flag di traccia.
- Le versioni complete dei database di esempio WideWorldImporters ora funzionano con le edizioni Standard ed Express, a partire da SQL Server 2016 (13.x) SP1, e sono disponibili in GitHub. Non sono necessarie modifiche nell'esempio. I backup del database creati in RTM per l'edizione Enterprise funzionano con le edizioni Standard ed Express in SP1.
L'installazione di SQL Server 2016 (13.x) SP1 potrebbe richiedere il riavvio dopo l'installazione. Come procedura consigliata, è necessario eseguire un riavvio dopo l'installazione di SQL Server 2016 (13.x) SP1.
Scaricare le pagine e altre informazioni
- Download del Service Pack 1 per Microsoft SQL Server 2016
- SQL Server 2016 Service Pack 1 (SP1) rilasciato
- Informazioni sulla versione di SQL Server 2016 Service Pack 1
- Centro aggiornamenti di SQL Server per collegamenti e informazioni per tutte le versioni supportate, compresi i Service Pack di SQL Server
SQL Server 2016 Release - Disponibilità Generale (GA)
Requisito di installazione patch (GA)
Problema e impatto del cliente: Microsoft ha identificato un problema che interessa i file binari di Runtime di Microsoft VC++ 2013 installati come prerequisiti da SQL Server 2016. È disponibile un aggiornamento per risolvere questo problema. Se questo aggiornamento ai file binari di runtime di VC non è installato, SQL Server 2016 potrebbe riscontrare problemi di stabilità in determinati scenari. Prima di installare SQL Server 2016, verificare se il computer richiede la patch descritta in KB 3164398. La patch è inclusa anche nell'aggiornamento cumulativo 1 (CU1) per SQL Server 2016 RTM.
Risoluzione: usare una delle soluzioni seguenti:
Installare l'aggiornamento per Visual C++ 2013 e Visual C++ Redistributable Package ( KB 3138367). La risoluzione KB è preferita. È possibile installarlo prima o dopo l'installazione di SQL Server 2016 (13.x).
Se SQL Server 2016 (13.x) è già installato, eseguire i passaggi seguenti nell'ordine indicato:
- Scaricare il
vcredist_<version>.exe
appropriato. - Arrestare il servizio SQL Server per tutte le istanze del motore di database.
- Installare KB 3138367.
- Riavviare il computer.
- Scaricare il
Installare KB 3164398 - Aggiornamento critico per i prerequisiti di SQL Server 2016 MSVCRT.
Se si usa KB 3164398, è possibile installare durante l'installazione di SQL Server, tramite Microsoft Update o dall'Area download Microsoft.
Durante l'installazione di SQL Server 2016 (13.x): se il computer che esegue la configurazione di SQL Server ha accesso a Internet, la configurazione verifica gli aggiornamenti come parte dell'installazione complessiva di SQL Server. Se si accetta l'aggiornamento, il programma di installazione scarica e aggiorna i file binari durante l'installazione.
Microsoft Update: l'aggiornamento è disponibile in Microsoft Update come aggiornamento critico per SQL Server 2016 (13.x) non correlato alla sicurezza. L'installazione tramite Microsoft Update dopo SQL Server 2016 (13.x) richiede il riavvio del server dopo l'aggiornamento.
Area download: infine, l'aggiornamento è disponibile nell'Area download Microsoft. È possibile scaricare il software per l'aggiornamento e installarlo nei server in cui è presente SQL Server 2016 (13.x).
Stretch Database
Problema con un carattere specifico in un nome di database o tabella
Problema e impatto per i clienti: se si tenta di abilitare Stretch Database in un database o in una tabella, si ottiene un errore. Il problema si verifica se il nome dell'oggetto include un carattere che viene considerato come un carattere diverso quando viene convertito da minuscolo a maiuscolo. Un esempio di carattere che causa questo problema è il carattere "ƒ" (creato digitando ALT+159).
Soluzione alternativa: se si vuole abilitare Stretch Database nel database o nella tabella, l'unica possibilità è rinominare l'oggetto e rimuovere il carattere che causa il problema.
Problema relativo a un indice che usa la parola chiave INCLUDE
Problema e impatto del cliente: Tentativo di abilitare Stretch Database in una tabella con un indice che usa la parola chiave INCLUDE per includere colonne aggiuntive nell'indice ha esito negativo e viene generato un errore.
Soluzione alternativa: eliminare l'indice che include la parola chiave INCLUDE, abilitare Stretch Database nella tabella, quindi ricreare l'indice. In questo caso, assicurarsi di seguire i criteri e le procedure di manutenzione dell'organizzazione per eliminare o ridurre al minimo l'impatto per gli utenti della tabella interessata.
Archivio query
Problema relativo alla pulizia automatica dei dati nelle edizioni diverse da Enterprise e Developer
Problema e impatto del cliente:
La pulizia automatica dei dati non riesce nelle edizioni diverse da Enterprise e Developer. Pertanto, se i dati non vengono eliminati manualmente, lo spazio usato da Query Store aumenta nel tempo fino a quando non viene raggiunto il limite configurato. Se non è stato risolto, questo problema riempie anche lo spazio su disco allocato per i log degli errori, perché ogni tentativo di esecuzione della pulizia produce un file di dump. Il periodo di attivazione della pulizia dipende dalla frequenza del carico di lavoro, ma non è più di 15 minuti.
Soluzione alternativa: Se si prevede di usare il Query Store in edizioni diverse da Enterprise e Developer, è necessario disattivare i criteri di pulizia in modo esplicito. Questa operazione si può eseguire da SQL Server Management Studio (pagina delle proprietà del database) oppure tramite script Transact-SQL:
Inoltre, considerare le opzioni di pulizia manuale per evitare che l'archivio query passi alla modalità di sola lettura. Ad esempio, eseguire periodicamente la query seguente per pulire l'intero spazio dati:
ALTER DATABASE <database> SET QUERY_STORE CLEAR;
Inoltre, eseguire periodicamente le seguenti stored procedure di Query Store per pulire le statistiche di runtime, le query specifiche o i piani:
sp_query_store_reset_exec_stats
sp_query_store_remove_plan
sp_query_store_remove_query
Documentazione del prodotto (GA)
Problema e impatto del cliente: Non è ancora disponibile una versione scaricabile della documentazione di SQL Server 2016 (13.x). Quando si usa Gestione librerie della Guida per provare a installare contenuto online, viene visualizzata la documentazione di SQL Server 2012 e SQL Server 2014, ma non è disponibile alcuna opzione per la documentazione di SQL Server 2016 (13.x).
Soluzione alternativa: usare una delle soluzioni alternative seguenti:
Usare l'opzione Scegliere la Guida online o locale e configurare la Guida per "Voglio usare la Guida online".
Usare l'opzione Installa contenuto da online e scaricare i contenuti relativi a SQL Server 2014.
Guida sensibile al contesto: Per impostazione predefinita quando si preme F1 in SQL Server Management Studio, la versione online dell'articolo della Guida sensibile al contesto viene visualizzata nel browser, fornendo assistenza basata su browser anche quando è stata configurata e installata la Guida locale.
Aggiornamento del contenuto:
In SQL Server Management Studio e Visual Studio, l'applicazione Help Viewer potrebbe smettere di rispondere durante il processo di aggiunta della documentazione. Per risolvere questo problema, eseguire la procedura seguente. Per altre informazioni su questo problema, vedere Il visualizzatore della Guida di Visual Studio si blocca.
Aprire il file
%LOCALAPPDATA%\Microsoft\HelpViewer2.2\HlpViewer_SSMS16_en-US.settings
oHlpViewer_VisualStudio14_en-US.settings
nel Blocco note e modificare la data nel codice seguente in una data futura.Cache LastRefreshed="12/31/2017 00:00:00"
Informazioni aggiuntive
- Installazione di SQL Server 2016
- SQL Server Update Center (Centro aggiornamenti di SQL Server): collegamenti e informazioni per tutte le versioni supportate
Ottieni aiuto
- Idee per SQL: si hanno suggerimenti per migliorare SQL Server?
- Domande e risposte Microsoft (SQL Server)
- DBA Stack Exchange (tag sql-server): domande su SQL Server
- Stack Overflow (tag sql-server): risposte a domande sullo sviluppo di SQL
- Condizioni di licenza e informazioni per Microsoft SQL Server
- Opzioni di supporto per utenti aziendali
- Guida e commenti di SQL Server
Contribuire alla documentazione di SQL
Sapevi che puoi modificare il contenuto SQL tu stesso? L'autore delle modifiche contribuirà a migliorare la documentazione e verrà accreditato come collaboratore alla realizzazione della pagina.
Per altre informazioni, vedere Modificare la documentazione di Microsoft Learn.