Pianificare e testare il piano di aggiornamento del motore di database

Si applica a:account di SQL Server - solo Windows

Per eseguire correttamente l'aggiornamento di SQL Server, indipendentemente dall'approccio, è opportuna un'accurata pianificazione.

Note sulla versione e problemi di aggiornamento noti

Prima di aggiornare il motore di database, esaminare quanto segue:

Elenco di controllo per la pianificazione pre-aggiornamento

Prima di aggiornare il motore di database, esaminare il seguente elenco di controllo e gli articoli correlati. Questi articoli si applicano a tutti gli aggiornamenti, indipendentemente dal metodo di aggiornamento, e consentono di determinare il metodo di aggiornamento più appropriato: aggiornamento in sequenza, aggiornamento con nuova installazione o aggiornamento sul posto. Ad esempio, potrebbe non essere possibile eseguire un aggiornamento in sequenza o sul posto se si esegue l'aggiornamento del sistema operativo, l'aggiornamento da SQL Server 2005 o l'aggiornamento da una versione a 32 bit di SQL Server. Per l'albero delle decisioni, vedere Choose a Database Engine Upgrade Method.

  • Requisiti hardware e software: consultare i requisiti hardware e software per l'installazione di SQL Server. Questi requisiti sono disponibili in: Hardware and Software Requirements for Installing SQL Server. Nel ciclo di pianificazione dell'aggiornamento è opportuno considerare l'aggiornamento dell'hardware (un hardware più recente è più veloce e può consentire di ridurre le licenze grazie a un minor numero di processori o al consolidamento di database e server) e l'aggiornamento del sistema operativo. Questi tipi di modifiche hardware e software influiscono sul tipo di metodo di aggiornamento.

  • Ambiente corrente: eseguire ricerche nell'ambiente corrente per comprendere i componenti di SQL Server in uso e i client connessi all'ambiente.

    • Provider client: l'aggiornamento non richiede di aggiornare il provider dei singoli clienti, ma è possibile scegliere di eseguire questa operazione. Se si esegue l'aggiornamento da SQL Server 2014 (12.x) o versione precedente, le funzionalità di SQL Server 2016 (13.x) seguenti richiedono un provider aggiornato per ogni client o per offrire funzionalità aggiuntive:

    • Always Encrypted (Motore di database)

    • Stretch Database

      Importante

      Stretch Database è deprecato in SQL Server 2022 (16.x) e database SQL di Azure. Questa funzionalità verrà rimossa nelle versioni future del motore di database. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.

    • Listener del gruppo di disponibilità, connettività client e failover dell'applicazione (SQL Server)

    • Aggiornamento della sicurezza TLS

  • Componenti di terze parti: determinare la compatibilità dei componenti di terze parti, ad esempio il backup integrato.

  • Ambiente di destinazione: verificare che l'ambiente di destinazione soddisfi i requisiti hardware e software e che supporti i requisiti del sistema originale. Ad esempio, l'aggiornamento potrebbe comportare il consolidamento di più istanze di SQL Server in un'unica e nuova istanza di SQL Server o la virtualizzazione dell'ambiente di SQL Server su un cloud privato o pubblico.

  • Edizione: determinare la versione appropriata di SQL Server e i percorsi di aggiornamento appropriati per l'aggiornamento. Per informazioni dettagliate, vedere Supported Version and Edition Upgrades. Prima di eseguire l'aggiornamento da un'edizione di SQL Server a un'altra, verificare che le funzionalità attualmente in uso siano supportate nell'edizione a cui si desidera eseguire l'aggiornamento.

    Nota

    Quando si esegue l'aggiornamento a SQL Server da una versione precedente di SQL Server Enterprise Edition, scegliere tra Enterprise Edition: licenze basate su core ed Enterprise Edition. Queste due edizioni differiscono solo per le modalità di gestione delle licenze. Per altre informazioni, vedere Compute Capacity Limits by Edition of SQL Server.

  • Compatibilità con le versioni precedenti: vedere l'articolo sulla compatibilità con le versioni precedenti del motore di database di SQL Server per esaminare i cambiamenti nel comportamento tra SQL Server e la versione di SQL Server dalla quale si sta eseguendo l'aggiornamento. Vedere SQL Server Database Engine Backward Compatibility.

  • Data Migration Assistant: eseguire Data Migration Assistant per un supporto nell'analisi dei problemi che potrebbero bloccare il processo di aggiornamento o richiedere modifiche degli script esistenti o delle applicazioni a seguito di una modifica importante.

    È possibile scaricare Data Migration Assistant qui.

  • Controllo configurazione sistema: eseguire il Controllo configurazione sistema (SCC, System Configuration Checker) di SQL Server per determinare se il programma di installazione di SQL Server rileva problemi di blocco prima di pianificare l'aggiornamento. Per altre informazioni, vedere Check Parameters for the System Configuration Checker.

  • Aggiornamento di tabelle ottimizzate per la memoria: quando si aggiorna un'istanza del database SQL Server 2014 che contiene le tabelle ottimizzate per la memoria a SQL Server 2016, il processo di aggiornamento richiede più tempo per convertire le tabelle ottimizzate per la memoria nel nuovo formato su disco (e il database rimane offline durante questa procedura). La quantità di tempo dipende dalle dimensioni delle tabelle ottimizzate per la memoria e dalla velocità del sottosistema di I/O. L'aggiornamento richiede tre dimensioni di operazioni di dati per gli aggiornamenti sul posto e con nuova installazione (il passaggio 1 non è obbligatorio per gli aggiornamenti in sequenza, ma i passaggi 2 e 3 sono obbligatori):

    1. Eseguire il ripristino del database usando il formato su disco precedente (e caricando tutti i dati nelle tabelle ottimizzate per la memoria all'interno della memoria del disco)

    2. Serializzare i dati su disco nel nuovo formato su disco

    3. Eseguire il ripristino del database usando il nuovo formato (e caricando tutti i dati nelle tabelle ottimizzate per la memoria all'interno della memoria del disco)

      Inoltre, l'insufficienza di spazio su disco durante questo processo impedisce l'esecuzione del ripristino. Assicurarsi che sia disponibile spazio sufficiente su disco per l'archiviazione del database esistente e ulteriore spazio aggiuntivo corrispondente alla dimensione corrente dei contenitori del filegroup MEMORY_OPTIMIZED_DATA del database per eseguire un aggiornamento sul posto o connettere un database SQL Server 2014 a un'istanza di SQL Server 2016. Usare la query seguente per determinare lo spazio su disco necessario per il filegroup MEMORY_OPTIMIZED_DATA e la quantità di spazio su disco necessaria per l'esecuzione dell'aggiornamento:

    SELECT CAST(SUM(size) AS FLOAT) * 8 / 1024 / 1024 AS [size in GB]
    FROM sys.database_files
    WHERE data_space_id IN
    (
        SELECT data_space_id
        FROM sys.filegroups
        WHERE type = N'FX'
    );
    

Sviluppare e testare il piano di aggiornamento

L'approccio migliore consiste nel considerare l'aggiornamento come qualsiasi progetto IT. Organizzare un team dedicato all'aggiornamento che disponga di amministrazione del database, rete, estrazione, trasformazione e caricamento (ETL) e altre competenze necessarie per l'aggiornamento. Il team deve:

  • Scegliere il metodo di aggiornamento: vedere Scegliere un metodo di aggiornamento del motore di database.

  • Sviluppare un piano di rollback: l'esecuzione di questo piano consentirà di ripristinare l'ambiente originale se è necessario eseguire il rollback.

  • Determinare i criteri di accettazione: verificare che l'aggiornamento sia riuscito prima di trasferire gli utenti nell'ambiente aggiornato.

  • Testare il piano di aggiornamento: per testare le prestazioni con il carico di lavoro effettivo, usare l'utilità Riesecuzione distribuita di Microsoft SQL Server. L'utilità può usare più computer per rieseguire dati di traccia, simulando un carico di lavoro di importanza critica. Eseguendo una riesecuzione in un server di prova prima e dopo un aggiornamento di SQL Server, è possibile rilevare le differenze di prestazioni e individuare eventuali incompatibilità dell'applicazione con l'aggiornamento. Per altre informazioni, vedere SQL Server Distributed Replay e Opzioni della riga di comando dello strumento di amministrazione (Distributed Replay Utility).

Passaggi successivi