Rimuovere un'installazione parziale di SQL Server

Versione originale del prodotto: SQL Server

Numero KB originale: 955404

Summary

Un'installazione o un aggiornamento di SQL Server non riusciti possono lasciare un'istanza di SQL Server inattiva che blocca i successivi tentativi di installazione e può causare l'errore di installazione 1639. Questo articolo descrive come usare i log di installazione e il report di individuazione delle funzionalità installate per identificare e rimuovere un'installazione parziale senza rimuovere le istanze funzionanti. Elenca anche i log di diagnostica da raccogliere se i metodi di rimozione supportati hanno esito negativo.

Sintomi

Dopo che un'installazione o un aggiornamento di SQL Server non è riuscito, anche un successivo tentativo di installare o aggiornare la stessa versione di SQL Server sullo stesso computer potrebbe non riuscire. Questo problema si verifica più comunemente dopo un aggiornamento sul posto non riuscito, in cui il programma di installazione non riuscito lascia sul computer un'istanza di SQL Server parzialmente installata o inattiva. Non è possibile reinstallare SQL Server perché il programma di installazione trova un'istanza parziale esistente.

Si potrebbe visualizzare uno o più dei seguenti sintomi:

  • Un'istanza compare come <InstanceName>.INACTIVE nel report di individuazione delle funzionalità di SQL Server installate.
  • Il programma di installazione segnala che l'ID istanza è già in uso da un'istanza di SQL Server inattiva.
  • Il programma di installazione restituisce l'errore 1639 e il log dei componenti contiene "MSINEWINSTANCE richiede una nuova istanza che non è installata".
  • Summary.txt indica che è necessario disinstallare una o più funzionalità prima di rieseguire l'installazione.
  • Una funzionalità non riesce perché una dipendenza non è riuscita e il primo errore nei log punta a un'istanza incompleta o a un'origine di installazione non disponibile.

Causa

Se l'Installazione di SQL Server ha esito negativo durante l'installazione, un'istanza parzialmente installata può rimanere nel computer. Installazione di SQL Server non esegue sempre il rollback di tutte le modifiche apportate prima dell'errore. Quando si esegue di nuovo Setup, Setup può rilevare l'istanza installata parzialmente. Ciò può impedire al programma di installazione di stabilire o creare la configurazione dell'istanza necessaria per la nuova installazione.

Il problema di installazione iniziale può avere molte cause. Ad esempio, un prerequisito, un'origine dell'installazione, un pacchetto di Windows Installer o un altro componente di installazione potrebbero non essere riusciti. La rimozione dell'installazione parziale non risolve la causa originale dell'errore. È necessario correggere l'errore originale prima di ripetere l'installazione.

Prerequisiti prima di rimuovere un'istanza di SQL Server inattiva

  • Prima di iniziare, verificare di disporre di backup utilizzabili di tutti i database utente e di sistema per ogni istanza SQL Server nel computer.
  • Identificare tutte le istanze funzionanti e registrare i relativi nomi di istanza, ID istanza, edizioni, versioni e ID funzionalità installati in modo da distinguerli dall'istanza inattiva.
  • Copiare la cartella di log di SQL Server Setup più recente in una posizione sicura. Il percorso predefinito è %ProgramFiles%\Microsoft SQL Server\<VersionNumber>\Setup Bootstrap\Log\<Timestamp>.
  • Usare il supporto di installazione per la stessa versione principale SQL Server che ha creato l'istanza inattiva, a meno che Summary.txt indirizza esplicitamente l'utente a supporti diversi.
  • Esegui comandi da un Prompt dei comandi con privilegi elevati. In un server con più istanze, verificare il nome dell'istanza, l'ID dell'istanza e l'elenco delle funzionalità prima di ogni comando di rimozione.
  • Per un'istanza del cluster di failover, non considerare un nodo del cluster come un'istanza autonoma. Usare il flusso di lavoro di manutenzione del cluster di failover SQL Server ed esaminare i log dal nodo interessato.

Importante

Non eliminare chiavi del Registro di sistema di SQL Server, servizi, cartelle o file come metodo di pulizia generale. La pulizia manuale del Registro di sistema o del file system può rimuovere componenti condivisi o danneggiare le istanze di lavoro. Se i metodi di rimozione supportati hanno esito negativo, raccogliere i log e contattare supporto tecnico Microsoft.

Rimuovere un'istanza di SQL Server inattiva

Per rimuovere un'istanza di SQL Server inattiva, completare i passaggi seguenti nell'ordine indicato. Arrestarsi in qualsiasi passaggio in cui l'istanza inattiva non viene più visualizzata nel report di individuazione.

  1. Esaminare il risultato dell'installazione e identificare l'istanza inattiva

    Apri Summary.txt dal tentativo di installazione non riuscito più recente. Se Summary.txt fornisce un comando per rimuovere l'installazione non riuscita o inattiva, utilizzare tale comando come primo metodo di rimozione. Registrare il comando di disinstallazione suggerito, il nome dell'istanza o l'ID istanza e le funzionalità elencate nel comando. Esaminare Detail.txt e il log del primo componente non riuscito per verificare che l'errore appartenga all'istanza inattiva.

    %ProgramFiles%\Microsoft SQL Server\<VersionNumber>\Setup Bootstrap\Log\<Timestamp>\Summary.txt

  2. Eseguire il comando di disinstallazione suggerito dal programma di installazione

    Se Summary.txt fornisce un comando di disinstallazione, usare tale comando per rimuovere l'installazione parziale.

    Aprire un prompt dei comandi con privilegi elevati e passare alla directory che contiene setup.exe nel supporto di installazione SQL Server appropriato.

    Ad esempio:

    cd /d "<Drive>:\<InstallationMediaFolder>"
    

    Eseguire quindi il comando esatto fornito da Summary.txt.

    Ad esempio:

    setup.exe /Q /ACTION=UNINSTALL /INSTANCEID=<InstanceId> /FEATURES=<FeatureList>
    

    Questo comando è solo un esempio. Non sostituire l'ID istanza o l'elenco di funzionalità con i valori di un'altra installazione o di un altro computer. Usare i valori forniti da Summary.txt per l'installazione non riuscita.

    Importante

    Verificare l'ID istanza prima di eseguire il comando. In un computer con più istanze di SQL Server, l'esecuzione del comando sull'istanza errata può rimuovere un'istanza funzionante.

    Per altre informazioni, vedere Disinstallare un'istanza esistente di SQL Server (programma di installazione).

  3. Genera il report di rilevamento delle funzionalità installate

    Avviare Centro installazione di SQL Server dal supporto corrispondente. Selezionare Strumenti>Report di individuazione delle funzionalità installate di SQL Server. Esaminare il report e determinare se l'installazione parziale è ancora elencata come <InstanceName>.INACTIVE.

    Ad esempio:

    MSSQLSERVER.INACTIVE
    

    Se l'istanza inattiva non è più elencata, verificare che le istanze di SQL Server in esecuzione e le relative funzionalità previste siano ancora presenti. È quindi possibile procedere con i passaggi per la risoluzione dei problemi relativi all'errore originale del programma di installazione prima di riprovare l'installazione.

    Se l'istanza inattiva è ancora elencata dopo l'esecuzione del comando di disinstallazione fornito da Summary.txt, continuare con il passaggio successivo. Utilizzare il codice XML di individuazione per identificare i prodotti del programma di installazione di Windows associati all'istanza inattiva e rimuovere solo i prodotti verificati.

  4. Rimuovi i prodotti Windows Installer rimanenti per l'istanza inattiva

    Se il report di individuazione elenca ancora l'istanza inattiva dopo aver eseguito il comando di disinstallazione da Summary.txt, individuare e aprire discovery XML. Identificare le voci associate all'istanza inattiva e registrare il ProductCode per ogni funzionalità applicabile. Prima di rimuovere un prodotto, verificare che ProductCode appartenga all'istanza inattiva e non a un'istanza di SQL Server in uso o a un componente condiviso.

    ProductCode="{<ProductCodeGuid>}"

    Eseguire il comando seguente da un prompt dei comandi con privilegi elevati per ogni codice prodotto verificato:

    msiexec.exe /x {<ProductCodeGuid>}
    

    Ripeti il comando per ogni ProductCode.

    Caution

    Rimuovere solo le ProductCode voci associate all'istanza inattiva. Non disinstallare prodotti in massa semplicemente perché il nome visualizzato contiene SQL Server. Un computer può contenere prodotti e componenti condivisi necessari per le istanze di SQL Server in esecuzione.

  5. Verificare la rimozione prima di eseguire nuovamente Setup

    • Rigenera il rapporto di individuazione delle funzionalità installate di SQL Server.
    • Verificare che l'istanza inattiva non sia più elencata.
    • Verificare che tutte le istanze attive e le relative funzionalità previste siano ancora elencate.
    • Esaminare Programmi e funzionalità solo come controllo secondario; non usare solo i nomi dei prodotti per decidere cosa rimuovere.
    • Riavviare il computer se l'operazione di rimozione lo richiede. Eseguire quindi di nuovo l'installazione o l'aggiornamento originale da supporti locali validi o accessibili in modo affidabile.

Risoluzione degli scenari comuni di rimozione e degli errori di Setup

Scenario Cosa potrebbe essere visualizzato Azione consigliata
L'istanza inattiva blocca la configurazione Il report di individuazione mostra <InstanceName>.INACTIVEo il programma di installazione indica che l'ID istanza è già in uso. Segui la sezione Rimuovere un'istanza inattiva di SQL Server. Usare il comando uninstall da Summary.txt, quindi rimuovere solo le voci verificate ProductCode che appartengono all'istanza inattiva.
Errore 1639/ MSINEWINSTANCE Un log dei componenti indica che un'istanza specificata è già installata e che è necessaria una nuova istanza MSINEWINSTANCE. Correlare il prodotto o la trasformazione con l'istanza inattiva. Non considerare la "riga di comando non valida" come prova che la sintassi di installazione immessa dall'utente è l'unica causa.
La dipendenza non riesce e viene visualizzato l'errore 53 o il percorso di rete non è stato trovato Summary.txt segnala un errore di dipendenza e un log dei componenti segnala che un percorso di origine o di rete non è disponibile. Ripristinare l'accesso all'origine richiesta o utilizzare supporti locali validi. Rimuovere quindi l'istanza inattiva se il programma di installazione ne ha creato uno. Riprovare solo dopo la correzione del problema di origine.
Msi o MSP mancante nella cache del programma di installazione di Windows La riparazione, la patch, l'aggiornamento o la disinstallazione richiedono un MSI/MSP non trovato oppure una funzionalità non è disponibile per la selezione. Usare la procedura Microsoft Learn per ripristinare i file mancanti della cache di Windows Installer. Non copiare un file da un altro computer a meno che la convalida documentata non conferma che sia il pacchetto esatto richiesto.
Il driver o il pacchetto runtime è il primo guasto Il primo pacchetto che causa l'errore è un driver ODBC, un driver OLE DB o un pacchetto runtime di Visual C++. Riparare o disinstallare la dipendenza interessata tramite il flusso di lavoro del programma di installazione supportato, in base al log MSI e alla versione installata. Non rimuovere tutti i driver per impostazione predefinita.
Istanza del cluster di failover L'operazione non riuscita coinvolge un nodo FCI o un'istanza del cluster. Usare le azioni di manutenzione del cluster di SQL Server Setup, ad esempio Remove node quando applicabile. Mantenere la configurazione del cluster e raccogliere i log da ogni nodo interessato.
La rimozione del supporto non riesce ancora Il Summary.txt comando di disinstallazione e la rimozione verificata ProductCode hanno entrambi esito negativo oppure la voce inattiva rimane. Interrompi la pulizia manuale. Mantenere i log di installazione, i report di individuazione, i log MSI e uno snapshot di configurazione del sistema e contattare supporto tecnico Microsoft.

Quando arrestare la rimozione e raccogliere i log

Arresta il tentativo di rimozione se si applica una di queste condizioni e raccogli i log di diagnostica e le informazioni sull'istanza prima di contattare il supporto tecnico Microsoft.

  • Non è possibile eseguire il mapping con certezza di un codice ProductCode all'istanza inattiva.
  • Il computer ospita altre istanze di SQL Server funzionanti o funzionalità condivise e la rimozione proposta potrebbe influire su di essi.
  • L'istanza inattiva appartiene a un cluster di failover e la normale azione di manutenzione del cluster ha esito negativo.
  • Il comando di disinstallazione non riesce ripetutamente, Windows Installer segnala file di origine mancanti o la rimozione tramite msiexec non riesce.
  • L'opzione rimanente richiederebbe l'eliminazione manuale di chiavi del Registro di sistema, servizi, file della cache del programma di installazione o cartelle di SQL Server.

Raccogliere SQL Server log di diagnostica e informazioni sull'istanza

Raccogliere le informazioni seguenti prima di apportare ulteriori modifiche al computer:

Annotazioni

SQL LogScout è uno strumento di raccolta di diagnostica. Per SQL Server problemi relativi alla configurazione o all'installazione, usare lo Installation/Setup scenario in modo che vengano raccolti i log di installazione e le informazioni di diagnostica pertinenti. Per altre informazioni, vedere Risoluzione dei problemi e strumenti di diagnostica per SQL Server per scenari locali e ibridi.