Aggiornare il motore di database

In questo argomento vengono fornite le informazioni necessarie per la preparazione e la comprensione del processo di aggiornamento, ovvero:

  • Problemi di aggiornamento noti.

  • Considerazioni e attività preliminari all'aggiornamento.

  • Collegamenti ad argomenti contenenti le procedure per l'aggiornamento del Motore di database.

  • Collegamenti ad argomenti contenenti le procedure per la migrazione dei database a SQL Server.

  • Considerazioni sui cluster di failover.

  • Considerazioni e attività successive all'aggiornamento.

Problemi di aggiornamento noti

Prima di eseguire l'aggiornamento a Motore di database, vedere Compatibilità con le versioni precedenti del Motore di database di SQL Server. Per ulteriori informazioni sugli scenari di aggiornamento supportati e sui problemi noti relativi all'aggiornamento, vedere Aggiornamenti di versione ed edizione supportati. Per informazioni sulla compatibilità con le versioni precedenti per altri componenti di SQL Server, vedere Compatibilità con le versioni precedenti.

Nota importanteImportante

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 2012 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 ulteriori informazioni, vedere Limiti della capacità di calcolo per edizione di SQL Server.

Elenco di controllo preliminare all'aggiornamento

L'aggiornamento di SQL Server da una versione precedente è supportato solo dal programma di installazione di SQL Server. È inoltre possibile eseguire la migrazione dei database da versioni precedenti di SQL Server. La migrazione può essere eseguita da un'istanza di SQL Server a un'altra nello stesso computer o da un'istanza di SQL Server in un computer diverso. Le opzioni di migrazione includono l'utilizzo della Copia guidata database, delle funzionalità di backup e ripristino, dell'Importazione/Esportazione guidata SQL Server Integration Services, nonché dei metodi di importazione ed esportazione bulk.

Prima di aggiornare il Motore di database, eseguire le operazioni seguenti:

Esaminare i problemi seguenti e apportare modifiche prima di aggiornare SQL Server:

  • In caso di aggiornamento di istanze di SQL Server in cui SQL Server Agent viene integrato nelle relazioni MSX/TSX, aggiornare i server di destinazione prima di quelli master. In caso contrario, SQL Server Agent non sarà in grado di connettersi alle istanze master di SQL Server.

  • In caso di aggiornamento da un'edizione a 64 bit di SQL Server a un'edizione a 64 bit di SQL Server 2012, è necessario aggiornare Analysis Services prima del Motore di database.

  • Eseguire il backup di tutti i file di database di SQL Server dall'istanza da aggiornare, in modo che sia possibile ripristinarli se necessario.

  • Eseguire i comandi DBCC (Database Console Commands) appropriati sui database da aggiornare per assicurarne la consistenza.

  • Valutare lo spazio su disco necessario per l'aggiornamento dei componenti di SQL Server, oltre ai database utente. Per informazioni sullo spazio su disco necessario per i componenti di SQL Server, vedere Requisiti hardware e software per l'installazione di SQL Server 2012.

  • Verificare che i database di sistema di SQL Server esistenti, ovvero master, model, msdb e tempdb siano configurati per l'aumento automatico delle dimensioni e dispongano di una quantità di spazio su disco sufficiente.

  • Verificare che nel database master siano disponibili le informazioni di accesso per tutti i server di database. Si tratta di un elemento importante per il ripristino di un database, in quanto le informazioni di accesso al sistema si trovano nel database master.

  • Disabilitare tutte le stored procedure di avvio, in quanto i servizi verranno avviati e arrestati nell'istanza di SQL Server in fase di aggiornamento. Le stored procedure elaborate all'avvio potrebbero bloccare il processo di aggiornamento.

  • Arrestare la replica e verificare che il log delle repliche sia vuoto.

  • Uscire da tutte le applicazioni, inclusi tutti i servizi che intrattengono dipendenze con SQL Server. L'aggiornamento potrebbe avere esito negativo se le applicazioni locali sono connesse all'istanza in fase di aggiornamento.

  • Se si utilizza il mirroring del database, vedere Riduzione al minimo del tempo di inattività per i database con mirroring quando si aggiornano le istanze del server nella documentazione online di SQL Server.

Aggiornamento del motore di database

È possibile sovrascrivere un'installazione di SQL Server 2005 o versioni successive con un aggiornamento della versione. Se durante l'esecuzione del programma di installazione di SQL Server viene rilevata una versione precedente di SQL Server, vengono aggiornati tutti i file di programma di SQL Server precedenti e tutti i dati archiviati nell'istanza precedente di SQL Server vengono mantenuti. Le versioni precedenti della documentazione online di SQL Server, inoltre, resteranno invariate nel computer.

Nota di attenzioneAttenzione

Quando si aggiorna SQL Server, l'istanza precedente di SQL Server 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 precedente di SQL Server.

È possibile aggiornare il Motore di database utilizzando l'Installazione guidata di SQL Server.

Livello di compatibilità del database dopo l'aggiornamento

Dopo l'aggiornamento, i livelli di compatibilità dei database tempdb, model msdb e Resource vengono impostati su 110. Per il database di sistema master viene mantenuto il livello di compatibilità precedente l'aggiornamento.

Se il livello di compatibilità di un database utente è 90 o 100 prima dell'aggiornamento, rimane invariato dopo l'aggiornamento. Se il livello di compatibilità era 80 o un valore inferiore prima dell'aggiornamento, nel database aggiornato questo valore viene impostato su 90, cioè sul livello di compatibilità inferiore supportato in SQL Server 2012.

[!NOTA]

Ai nuovi database utente sarà consentito di ereditare il livello di compatibilità del database model.

Migrazione dei database

È possibile spostare database utente in un'istanza di SQL Server tramite operazioni di backup e ripristino o scollegare e collegare funzionalità in SQL Server. Per ulteriori informazioni, vedere Copiare database tramite backup e ripristino o Collegamento e scollegamento di un database (SQL Server).

Nota importanteImportante

Non è possibile spostare o copiare un database con lo stesso nome nei server di origine e di destinazione. In questo caso, verrà indicato che il database esiste già.

Per ulteriori informazioni, vedere Utilizzo di Copia guidata database.

Operazioni successive all'aggiornamento del Motore di database

Al termine dell'aggiornamento del Motore di database, completare le operazioni seguenti:

  • Registrare nuovamente i server. Per ulteriori informazioni sulla registrazione di server, vedere l'argomento Registrazione di server nella documentazione online di SQL Server.

  • Ripopolare cataloghi full-text per garantire la coerenza semantica nei risultati delle query.

    In SQL Server 2012 sono installati nuovi word breaker da utilizzare per la ricerca full-text e semantica. I word breaker vengono utilizzati sia in fase di indicizzazione che di esecuzione delle query. Se non si ricompilano i cataloghi full-text, i risultati di ricerca potrebbero risultare incoerenti. Se si esegue una query full-text che esegue la ricerca di una frase divisa in modo diverso dal word breaker in una versione precedente di SQL Server rispetto a quello corrente, è possibile che si verifichi il mancato recupero di una riga o documento contenente la frase. Questo problema si verifica perché le frasi indicizzate sono state divise in base a una logica diversa da quella utilizzata dalla query. Per risolvere il problema, ripopolare (ricompilare) i cataloghi full-text con i nuovi word breaker in modo che il comportamento in fase di indicizzazione e di esecuzione delle query sia lo stesso.

    Per ulteriori informazioni, vedere l'argomento sp_fulltext_catalog (Transact-SQL) nella documentazione online di SQL Server.

  • Eseguire DBCC UPDATEUSAGE in tutti i database per correggere eventuali conteggi di righe o di pagine non corretti.

  • Configurare l'installazione di SQL Server. Per ridurre la superficie di attacco di un sistema, in SQL Server vengono installati e abilitati in modo selettivo i servizi e le funzionalità principali.

  • Convalidare o rimuovere gli hint USE PLAN generati da SQL Server 2005 e applicati alle query su tabelle e indici partizionati.

    SQL Server 2012 modifica la modalità di elaborazione delle query su tabelle e indici partizionati. È possibile che le query su oggetti partizionati che utilizzano l'hint USE PLAN per un piano generato da SQL Server 2005 contengano un piano non valido in SQL Server 2012. Dopo avere eseguito l'aggiornamento a SQL Server 2012, è consigliabile eseguire le procedure indicate di seguito.

    Quando l'hint USE PLAN è specificato direttamente in una query:

    1. Rimuovere l'hint USE PLAN dalla query.

    2. Testare la query.

    3. Se Query Optimizer non seleziona un piano appropriato, ottimizzare la query, quindi valutare l'opportunità di specificare l'hint USE PLAN con il piano di query desiderato.

    Quando l'hint USE PLAN è specificato in una guida di piano:

    1. Utilizzare la funzione sys.fn_validate_plan_guide per verificare la validità della guida di piano. In alternativa, è possibile verificare la validità dei piani utilizzando l'evento Plan Guide Unsuccessful in SQL Server Profiler.

    2. Se la guida di piano non è valida, eliminarla. Se Query Optimizer non seleziona un piano appropriato, ottimizzare la query, quindi valutare l'opportunità di specificare l'hint USE PLAN con il piano di query desiderato.

    Un piano non valido non comporterà l'esito negativo della query quando si specifica l'hint USE PLAN in una guida di piano. Al contrario, la query verrà compilata senza utilizzare l'hint USE PLAN.

I database contrassegnati come abilitati o disabilitati per la funzionalità full-text prima dell'aggiornamento manterranno lo stato anche in seguito all'aggiornamento. Al termine dell'aggiornamento, i cataloghi full-text verranno ricompilati e popolati automaticamente per tutti i database abilitati per la funzionalità full-text. Si tratta di un'operazione che richiede tempi lunghi e un numero elevato di risorse. Per interrompere temporaneamente l'operazione di indicizzazione full-text, eseguire l'istruzione seguente:

EXEC sp_fulltext_service 'pause_indexing', 1

Per riprendere il popolamento dell'indice full-text, eseguire l'istruzione seguente:

EXEC sp_fulltext_service 'pause_indexing', 0

Vedere anche

Riferimento

Aggiornamenti di versione ed edizione supportati

Concetti

Utilizzare più versioni e istanze di SQL Server

Compatibilità con le versioni precedenti

Aggiornare database replicati