Scegliere un metodo di aggiornamento del motore di database
Si applica a: SQL Server - solo Windows
Sono diversi gli approcci da valutare quando si intende eseguire l'aggiornamento del motore di database da una versione precedente di SQL Server per ridurre al minimo i tempi di inattività e il rischio. È possibile eseguire un aggiornamento sul posto, la migrazione a una nuova installazione o un aggiornamento in sequenza. Il diagramma seguente consente di scegliere tra questi approcci. Ogni approccio nel diagramma è illustrato anche nell'articolo. Per assistenza nei punti decisionali all'interno del diagramma, consultare anche pianificare e testare il Database Engine Upgrade Plan.
Scarica
Per scaricare SQL Server, andare su Evaluation Center.
Si ha un account di Azure? Passare quindi ad Azure Marketplace per avviare una macchina virtuale con SQL Server Developer Edition già installato.
Opzioni di aggiornamento di Azure SQL
Nell'ambito del piano di aggiornamento, è anche possibile considerare l'aggiornamento del database SQL di Azure e dell'istanza gestita di SQL di Azure, o la virtualizzazione dell'ambiente SQL Server. Per ulteriori informazioni su tali opzioni, vedere i collegamenti seguenti:
- Panoramica di SQL Server in macchine virtuali di Azure
- Database SQL di Azure
- Selezione di un'opzione di SQL Server in Azure
Aggiornamento sul posto
Con questo approccio, il programma di installazione di SQL Server aggiorna l'installazione di SQL Server esistente sostituendo i bit di SQL Server esistenti con i bit nuovi di SQL Server e quindi aggiorna tutti i database utente e di sistema.
Il metodo di aggiornamento sul posto è più semplice, implica tempo di inattività, richiede più tempo per il fallback, se necessario, e non è supportato in tutti gli scenari. Per altre informazioni sugli scenari di aggiornamento sul posto supportati e non supportati, vedere Aggiornamenti di versione ed edizione supportati.
Questo approccio viene spesso usato negli scenari seguenti:
Un ambiente di sviluppo senza una configurazione a disponibilità elevata.
Un ambiente di produzione non mission-critical in grado di tollerare i tempi di inattività e in esecuzione su hardware e software recenti. La quantità di tempo di inattività dipende dalle dimensioni del database e dalla velocità del sottosistema di I/O. L'aggiornamento di SQL Server 2014 (12.x) quando le tabelle ottimizzate per la memoria sono in uso comporta maggiore tempo. Per altre informazioni, vedere pianificare e testare il Database Engine Upgrade Plan.
A livello generale, i passaggi necessari per un aggiornamento sul posto della motore di database sono i seguenti:
Per i passaggi dettagliati, vedere Eseguire l'aggiornamento di SQL Server usando l'Installazione guidata (programma di installazione).
Considerazioni
Il programma di installazione SQL Server arresta e riavvia l'istanza di SQL Server durante i controlli di pre-aggiornamento.
Quando si aggiorna SQL Server, l'istanza di SQL Server precedente viene sovrascritta e non sarà più disponibile nel computer. Prima dell'aggiornamento, eseguire il backup dei database di SQL Server e degli altri oggetti associati all'istanza di SQL Server precedente.
Migrazione verso una nuova installazione
Con questo approccio è possibile mantenere l'ambiente corrente mentre si crea un nuovo ambiente SQL Server, spesso su hardware nuovo e con una nuova versione del sistema operativo. Dopo l'installazione di SQL Server nel nuovo ambiente, è necessario eseguire una procedura per preparare il nuovo ambiente alla migrazione dei database utente esistenti dall'ambiente esistente al nuovo ambiente, riducendo al minimo i tempi di inattività. Questa procedura comprende la migrazione degli elementi seguenti:
Oggetti di sistema: alcune applicazioni dipendono da informazioni, entità e/o oggetti esterni all'ambito di un database in modalità a utente singolo. Un'applicazione include in genere dipendenze nei database
master
emsdb
, nonché nel database utente. Qualsiasi elemento archiviato all'esterno di un database utente necessario per il corretto funzionamento di tale database deve essere reso disponibile nell'istanza del server di destinazione. Ad esempio, gli account di accesso per un'applicazione vengono archiviati come metadati nel databasemaster
e devono essere ricreati nel server di destinazione. Se il piano di manutenzione di un'applicazione o un database dipende da processi di SQL Server Agent i cui metadati sono archiviati nel databasemsdb
, è necessario ricreare tali processi nell'istanza del server di destinazione. Analogamente, i metadati per un trigger a livello di server vengono archiviatimaster
.Quando il database per un'applicazione viene spostato in un'altra istanza del server, è necessario creare di nuovo tutti i metadati delle entità e degli oggetti dipendenti nei database
master
emsdb
dell'istanza del server di destinazione. Ad esempio, se un'applicazione del database utilizza trigger a livello di server, non è sufficiente collegare o ripristinare il database nel nuovo sistema. Il database non funziona come previsto a meno che non si ricreino manualmente i metadati per tali trigger nel databasemaster
. Per informazioni dettagliate, vedere Gestire i metadati quando si rende disponibile un database in un'altra istanza del server (SQL Server)Pacchetti di Integration Services archiviati in
msdb
: se i pacchetti vengono archiviati nel databasemsdb
, è necessario inserire i pacchetti nello script usando l'utilità dtutil o ridistribuendoli sul nuovo server. Prima di usare i pacchetti nel nuovo server, è necessario aggiornarli a SQL Server. Per altre informazioni, vedere Upgrade Integration Services Packages.Chiavi di crittografia di Reporting Services: un aspetto importante della configurazione del server di report riguarda la creazione di una copia di backup della chiave simmetrica usata per crittografare le informazioni riservate. La copia di backup della chiave è obbligatoria per molte operazioni di routine e consente di riutilizzare un database del server di report esistente in una nuova installazione. Per altre informazioni, vedere Eseguire il backup e il ripristino delle chiavi di crittografia di Reporting Services ed Eseguire l'aggiornamento e la migrazione di Reporting Services
Quando il nuovo ambiente SQL Server dispone degli stessi oggetti di sistema dell'ambiente esistente, procedere quindi alla migrazione dei database utente dal sistema esistente verso l'istanza di SQL Server in modo da ridurre al minimo i tempi di inattività del sistema esistente. Eseguire la migrazione del database tramite backup e ripristino oppure tramite un nuovo puntamento dei numeri di unità logica (LUN) se si dispone di un ambiente SAN. I passaggi per entrambi i metodi sono indicati nei diagrammi seguenti.
Attenzione
La quantità di tempo di inattività dipende dalle dimensioni del database e dalla velocità del sottosistema di I/O. L'aggiornamento di SQL Server 2014 (12.x) quando le tabelle ottimizzate per la memoria sono in uso comporta maggiore tempo. Per altre informazioni, vedere pianificare e testare il Database Engine Upgrade Plan.
Dopo la migrazione dei database utente, i nuovi utenti vengono indirizzati verso la nuova istanza di SQL Server usando uno dei vari metodi possibili, ad esempio rinominando il server, usando una voce DNS e modificando le stringhe di connessione. Il nuovo approccio di installazione riduce rischi e tempi di inattività rispetto all'aggiornamento sul posto e agevola gli aggiornamenti hardware e del sistema operativo con l'aggiornamento a SQL Server.
Nota
Se si ha già una soluzione a disponibilità elevata o altri numerosi ambienti dell'istanza di SQL Server, vedere Aggiornamenti in sequenza. Se non si ha una soluzione a disponibilità elevata, è possibile configurare temporaneamente il mirroring del database per ridurre maggiormente i tempi di inattività e semplificare l'aggiornamento oppure configurare un gruppo di disponibilità Always On come soluzione a disponibilità elevata permanente.
Ad esempio, è possibile usare questo approccio per aggiornare gli elementi seguenti:
- Un'installazione di SQL Server in un sistema operativo non supportato.
- Un'installazione x86 (32-bit) di SQL Server, dal momento che SQL Server 2016 (13.x) e versioni successive non supportano le installazioni x86.
- SQL Server in un nuovo hardware e/o in una nuova versione del sistema operativo.
- SQL Server con il consolidamento dei server.
- SQL Server 2005 (9.x), dal momento che SQL Server 2016 (13.x) e versioni successive non supportano l'aggiornamento sul posto di SQL Server 2005 (9.x). Per altre informazioni, vedere Si sta eseguendo l'aggiornamento da una versione precedente di SQL Server.
I passaggi necessari per un nuovo aggiornamento di installazione variano leggermente a seconda che si usi l'archiviazione associata o l'archiviazione SAN.
Ambiente di archiviazione collegata: se si ha un ambiente SQL Server che usa l'archiviazione collegata, il diagramma seguente e i collegamenti all'interno del diagramma guideranno attraverso i passaggi necessari per un nuovo aggiornamento dell'installazione del motore di database.
Ambiente di archiviazione SAN: se si ha un ambiente SQL Server che usa l'archiviazione SAN, il diagramma seguente e i collegamenti all'interno del diagramma guideranno attraverso i passaggi necessari per un nuovo aggiornamento dell'installazione del motore di database.
Aggiornamenti in sequenza
È necessario un aggiornamento in sequenza in ambienti di soluzioni SQL Server che includono più istanze di SQL Server da aggiornare in un determinato ordine al fine di ottimizzare i tempi di attività, ridurre i rischi e mantenere la funzionalità. Un aggiornamento in sequenza è essenzialmente l'aggiornamento di più istanze di SQL Server in un ordine specifico. Si esegue un aggiornamento sul posto in ogni istanza di SQL Server esistente oppure si esegue un nuovo aggiornamento dell'installazione per facilitare l'aggiornamento di hardware e/o sistema operativo come parte del progetto di aggiornamento. Esistono molti scenari in cui è necessario usare il metodo di aggiornamento in sequenza. Questi scenari sono documentati negli articoli seguenti:
- Gruppi di disponibilità: per i passaggi dettagliati dell'esecuzione di un aggiornamento in sequenza in questo ambiente, vedere Aggiornamento delle istanze di replica dei gruppi di disponibilità Always On
- Istanze con clustering di failover: per i passaggi dettagliati dell'esecuzione di un aggiornamento in sequenza in questo ambiente, vedere Eseguire l'aggiornamento di un'istanza del cluster di failover di SQL Server
- Istanze con mirroring: per i passaggi dettagliati dell'esecuzione di un aggiornamento in sequenza in questo ambiente, vedere Aggiornamento di istanze con mirroring
- Istanze con log shipping: per i passaggi dettagliati dell'esecuzione di un aggiornamento in sequenza in questo ambiente, vedere Aggiornamento del log shipping per SQL Server (Transact-SQL)
- Ambiente di replica: per i passaggi dettagliati dell'esecuzione di un aggiornamento in sequenza in questo ambiente, vedere Upgrade Replicated Databases.
- Ambiente SQL Server Reporting Services con scale-out: per i passaggi dettagliati dell'esecuzione di un aggiornamento in sequenza in questo ambiente, vedere Eseguire l'aggiornamento e la migrazione di Reporting Services