Errore durante il tentativo di aggiornamento del nodo del cluster a SQL Server 2012

Questo articolo fornisce una soluzione per il problema che si verifica quando si tenta di aggiornare un'istanza di SQL Server 2008 o SQL Server 2008 R2 a SQL Server 2012 in un cluster di failover.

Versione originale del prodotto: SQL Server 2012
Numero KB originale: 2782511

Sintomi

Considerare lo scenario descritto di seguito:

  • Si dispone di un cluster di failover microsoft SQL Server a due nodi in esecuzione in un cluster di failover Windows Server 2012. Ad esempio, il nodo primario è il nodo A e il nodo passivo è il nodo B.

    Nota

    L'istanza di SQL Server è un'istanza di SQL Server 2008 o SQL Server 2008 R2.

  • Si tenta di aggiornare il nodo primario (nodo A) a SQL Server 2012 usando il processo documentato in: Aggiornare un'istanza del cluster di failover.

In questo caso, è possibile che venga visualizzato un messaggio di errore analogo al seguente:

Impossibile salvare le proprietà comuni per la risorsa 'Nome di rete SQL (nome SQL)'. Errore: errore durante la chiamata del codice del cluster da un provider. Messaggio di eccezione: uno o più valori di proprietà per questa risorsa sono in conflitto con uno o più valori di proprietà associati alle risorse dipendenti.

Nota

  • Nome SQL è un segnaposto per il nome di rete SQL Server.
  • Anche se questo problema causa un errore di aggiornamento nel nodo A, il failover del gruppo di risorse SQL Server al nodo B aggiornato. Inoltre, poiché l'operazione di failover richiede meno di un minuto, tutte le risorse sono online senza interrompere notevolmente la connettività client. Tuttavia, per completare il processo di aggiornamento nel nodo A, è necessario seguire i passaggi aggiuntivi indicati nella sezione Risoluzione .

Causa

Questo problema si verifica a causa delle modifiche apportate al clustering di failover Windows Server 2012.

Risoluzione

Questa sezione illustra le azioni seguenti:

  • Completare l'aggiornamento nel nodo A.
  • Impedire che il problema influisca sui nuovi aggiornamenti.

Completare l'aggiornamento nel nodo A

Prima di iniziare questo processo, tenere presente quanto segue:

  • Non è possibile rimuovere il nodo A usando l'operazione Rimuovi nodo . Questa operazione eliminerà l'istanza del cluster di failover SQL Server. Pertanto, non è possibile ripristinarlo.

  • Non è possibile disinstallare l'istanza del cluster di failover SQL Server usando Disinstalla un programma. Questa operazione non funziona.

  • Non è possibile usare un'edizione non corretta del supporto di installazione , ad esempio SQL Server 2008 o SQL Server 2008 R2, per eseguire l'operazione Rimuovi nodo. Questa operazione corrompererà lo stato del computer.

Per completare l'aggiornamento per il nodo A, sono disponibili due fasi:

  • Fase 1: eseguire la pulizia dopo il tentativo di aggiornamento non riuscito nel nodo A per ripristinare lo stato di pre-aggiornamento.

    1. Chiudere il programma di installazione e la finestra di dialogo di errore se non sono già chiusi e consentire al programma di aggiornamento di completare e segnalare che l'operazione di aggiornamento non è riuscita.

    2. Rimuovere il nodo A dall'elenco dei possibili proprietari per evitare il failover accidentale. Per modificare l'elenco dei possibili proprietari, eseguire le operazioni seguenti:

      1. Avviare lo snap-in Gestione cluster di failover in qualsiasi nodo di failover.
      2. In Ruoli selezionare l'istanza del cluster di failover SQL Server nel riquadro superiore.
      3. Fare clic su Risorse nel riquadro inferiore, fare clic con il pulsante destro del mouse sulla risorsa Nome server e quindi scegliere Proprietà.
      4. Fare clic su Criteri avanzati nella finestra di dialogo Proprietà .
      5. Selezionare o deselezionare le caselle di controllo necessarie per ogni nodo per aggiungere o rimuovere i nodi.
    3. Aprire il file summary.txt nel percorso seguente %Programmi%\Microsoft SQL Server\110\Setup Bootstrap\Log.

      Trovare il comando di risoluzione dei problemi seguente nel file summary.txt : setup /q /action=uninstall /instanceid=FOOINST /features=AS

    4. Aprire un prompt dei comandi come amministratore e usare il comando di risoluzione dei problemi insieme al percorso del file di installazione di SQL Server 2012 (setup.exe). Ad esempio, si usa un comando simile al seguente:

      <SQL Server 2012 media path>\setup.exe /q /action=uninstall /instanceid=FOOINST /features=AS

      Nota

      • SQL Server percorso multimediale 2012 è un segnaposto per il percorso del supporto SQL Server 2012.
      • Questo comando viene eseguito in modo invisibile all'utente e viene in genere completato entro cinque minuti.
      • È possibile copiare e incollare gli argomenti della riga di comando dal file summary.txt per evitare errori di input. Tuttavia, la AS funzionalità deve essere passata come parametro esattamente come suggerito nel file summary.txt . L'input non corretto di questo comando ( in particolare il instanceid parametro ) causerà l'esito negativo dell'operazione di pulizia e potenzialmente lascerà il computer in uno stato danneggiato.
      • Controllare il filesummary.txt per verificare che l'operazione di pulizia sia stata completata correttamente.
  • Fase 2: Aggiornare il nodo A a SQL Server 2012

    1. Avviare il supporto di installazione SQL Server 2012 in modalità interfaccia utente.

    2. Selezionare l'opzione Aggiorna nel menu Installazione nella pagina di destinazione e quindi passare alla finestra di dialogo Configurazione istanza .

    3. Selezionare il nome dell'istanza corretto e quindi immettere il valore corretto nel campo ID istanza .

      Nota

      • Continuando l'esempio nella fase 1, il valore dell'ID istanza è FOOINST.
      • Il programma di installazione non determina automaticamente l'ID istanza. Pertanto, non è possibile usare l'ID istanza prepopolato predefinito nel campo ID istanza .
      • È possibile esaminare il file summary.txt per trovare l'ID istanza corretto.
    4. Completare il processo di aggiornamento.

    5. Dopo aver aggiornato correttamente il nodo A, aggiungerlo di nuovo all'elenco dei possibili proprietari nella risorsa Nome server dell'istanza del cluster di failover SQL Server.

Impedire che il problema influisca sui nuovi aggiornamenti

Per evitare questo problema, usare una delle opzioni seguenti:

  • Opzione 1

    1. Aggiornare prima non più della metà dei nodi passivi, per evitare di superare la soglia di maggioranza.

      Nota

      • Se si dispone di un numero pari di nodi del cluster, aggiornare non più della metà dei nodi passivi.
      • Se si dispone di un numero dispari di nodi del cluster, assicurarsi di aggiornare meno della metà dei nodi nel cluster. Se la maggior parte dei nodi del cluster viene aggiornata, questo problema si verificherà quando il gruppo di risorse del cluster ha esito negativo.
    2. Aggiungere manualmente i nodi passivi aggiornati all'elenco dei possibili proprietari per la risorsa Nome server.

    3. Rimuovere i nodi non aggiornati dall'elenco dei possibili proprietari.

    4. Eseguire manualmente il failover del gruppo di cluster SQL Server in uno dei nodi aggiornati.

    5. Aggiornare i nodi rimanenti non aggiornati.

    6. Quando tutti i nodi non aggiornati vengono aggiornati, aggiungerli manualmente all'elenco dei possibili proprietari nella risorsa Nome server.

  • Opzione 2

    Questo problema è stato risolto in SQL Server 2012 Service Pack 1 (SP1). È possibile eseguire il processo di aggiornamento in ogni nodo del cluster usando i file binari del programma di installazione del Service Pack. A tale scopo, sono disponibili due metodi.

    • Metodo A

      1. Scaricare SQL Server 2012 SP1 in un disco rigido locale (ad esempio su c:\sp1) o in una condivisione di rete ,ad esempio , \\share name\sp1accessibile da tutti i nodi.

      2. Avviare un prompt dei comandi come amministratore ed eseguire uno dei comandi seguenti:

        • <Download path>\setup.exe /action=upgrade /updatesource=c:\sp1
        • <Download path>\setup.exe /action=upgrade /updatesource=\\share name\sp1
      3. Completare tutti i passaggi del programma di installazione.

        Nota

        È possibile verificare se l'aggiornamento usa SQL Server file binari di installazione di SP1 2012 controllando il file detail.log nel percorso seguente:%Program Files%\Microsoft SQL Server\110\Setup Bootstrap\Log\<Time stamped folder>

        Verificare che le informazioni sulla versione che si trovano all'inizio del file di log mostrino che la versione di SQL Server 2012 è successiva alla 11.0.2100.60. Ad esempio, il file di log può contenere quanto segue:

    • Metodo B

      1. Scaricare SQL Server 2012 SP1 in un disco rigido locale (ad esempio su c:\sp1) o in una condivisione di rete ,ad esempio , \\share name\sp1accessibile da tutti i nodi.

      2. Avviare un prompt dei comandi come amministratore ed eseguire il comando seguente:

        Download path\SQL Server 2012 Service Pack 1 Package Name.exe/Q
        

        Questo comando pre-patchrà il nodo con file binari di installazione di SQL Server 2012 SP1.

        Nota

        Non è possibile installare il file SqlSupport.msi da solo, perché l'operazione di installazione di SQL Server 2012 avrà esito negativo e verrà visualizzato un errore relativo al mancato MSVCR100.dll. Usare il/Q parametro per evitare questo errore. Questo parametro installa sia il file Sqlsupport.msi che i componenti di runtime di Visual C++.

      3. Completare tutti i passaggi del programma di installazione.

Ulteriori informazioni

Scaricare Service Pack 1 per SQL Server 2012

Si applica a

  • SQL Server 2012 Developer
  • SQL Server 2012 Enterprise
  • SQL Server 2012 Express
  • SQL Server 2012 Standard
  • SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core