Error al intentar actualizar el nodo del clúster a SQL Server 2012

En este artículo se proporciona una solución para el problema que se produce al intentar actualizar una instancia de SQL Server 2008 o SQL Server 2008 R2 a SQL Server 2012 en un clúster de conmutación por error.

Versión original del producto: SQL Server 2012
Número de KB original: 2782511

Síntomas

Imagine la siguiente situación:

  • Tiene un clúster de conmutación por error de Microsoft SQL Server de dos nodos que se ejecuta en un clúster de conmutación por error de Windows Server 2012. Por ejemplo, el nodo principal es el nodo A y el nodo pasivo es el nodo B.

    Nota:

    La instancia de SQL Server es una instancia de SQL Server 2008 o SQL Server 2008 R2.

  • Intente actualizar el nodo principal (nodo A) a SQL Server 2012 mediante el proceso que se documenta en: Actualización de una instancia de clúster de conmutación por error.

En esta situación, recibe un mensaje de error similar al siguiente:

No se pudieron guardar las propiedades comunes del recurso "Sql Network Name (SQL Name)". Error: Error al llamar al código del clúster desde un proveedor. Mensaje de excepción: uno o varios valores de propiedad para este recurso están en conflicto con uno o varios valores de propiedad asociados a sus recursos dependientes.

Nota:

  • Sql Name es un marcador de posición para el nombre de red SQL Server.
  • Aunque este problema provoca un error de actualización en el nodo A, el grupo de recursos SQL Server conmuta por error correctamente al nodo actualizado B. Además, dado que la operación de conmutación por error tarda menos de un minuto, todos los recursos están en línea sin interrumpir notablemente la conectividad del cliente. Sin embargo, para completar el proceso de actualización en el nodo A, debe seguir los pasos adicionales que se mencionan en la sección Resolución .

Causa

Este problema se produce debido a cambios en Windows Server 2012 clústeres de conmutación por error.

Solución

En esta sección se tratan las siguientes acciones:

  • Complete la actualización en el nodo A.
  • Evite que el problema afecte a las nuevas actualizaciones.

Completar la actualización en el nodo A

Antes de comenzar este proceso, tenga en cuenta lo siguiente:

  • No se puede quitar el nodo A mediante la operación Quitar nodo . Esta operación eliminará la instancia del clúster de conmutación por error SQL Server. Por lo tanto, no se puede reparar.

  • No se puede desinstalar la instancia del clúster de conmutación por error de SQL Server mediante Desinstalar un programa. Esta operación no funciona.

  • No puede usar una edición incorrecta de los medios de instalación (por ejemplo, SQL Server 2008 o SQL Server 2008 R2) para ejecutar la operación Quitar nodo. Esta operación dañará el estado del equipo.

Para completar la actualización del nodo A, hay dos fases:

  • Fase 1: Limpiar después del intento de actualización erróneo en el nodo A para restaurar el estado anterior a la actualización.

    1. Cierre el programa de instalación y el cuadro de diálogo de error si aún no están cerrados, y deje que el programa de actualización finalice e informe de que se produjo un error en la operación de actualización.

    2. Quite el nodo A de la lista de posibles propietarios con el fin de evitar la conmutación por error en él. Para cambiar la lista de posibles propietarios, haga lo siguiente:

      1. Inicie el complemento Administrador de clústeres de conmutación por error en cualquier nodo de conmutación por error.
      2. En Roles, seleccione la instancia de clúster de conmutación por error SQL Server en el panel superior.
      3. Haga clic en Recursos en el panel inferior, haga clic con el botón derecho en el recurso Nombre del servidor y, a continuación, seleccione Propiedades.
      4. Haga clic en Directivas avanzadas en el cuadro de diálogo Propiedades .
      5. Active o desactive las casillas necesarias para que cada nodo agregue o quite los nodos.
    3. Abra el archivo summary.txt en la siguiente ubicación %Archivos de programa%\Microsoft SQL Server\110\Setup Bootstrap\Log.

      Busque el siguiente comando de solución de problemas en el archivo summary.txt : setup /q /action=uninstall /instanceid=FOOINST /features=AS

    4. Abra un símbolo del sistema como administrador y use el comando de solución de problemas junto con la ruta de acceso del archivo de instalación de SQL Server 2012 (setup.exe). Por ejemplo, se usa un comando similar al siguiente:

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

      Nota:

      • SQL Server ruta de acceso multimedia de 2012 es un marcador de posición para la ruta de acceso del medio de SQL Server 2012.
      • Este comando se ejecuta de forma silenciosa y normalmente se completa en cinco minutos.
      • Puede copiar y pegar los argumentos de la línea de comandos del archivo summary.txt para evitar errores de entrada. Sin embargo, la AS característica debe pasarse como un parámetro que sea exactamente como se sugiere en el archivo summary.txt . La entrada incorrecta de este comando (especialmente el instanceid parámetro) hará que se produzca un error en la operación de limpieza y, potencialmente, deje el equipo en un estado dañado.
      • Compruebe el archivo summary.txt para confirmar que la operación de limpieza se completó correctamente.
  • Fase 2: Actualización del nodo A a SQL Server 2012

    1. Inicie los medios de instalación de SQL Server 2012 en modo de interfaz de usuario.

    2. Seleccione la opción Actualizar en el menú Instalación de la página de aterrizaje y, a continuación, vaya al cuadro de diálogo Configuración de instancia.

    3. Seleccione el nombre de instancia correcto y escriba el valor correcto en el campo Id. de instancia .

      Nota:

      • Continuando con el ejemplo de la fase 1, el valor del identificador de instancia es FOOINST.
      • El programa de instalación no determina automáticamente el identificador de instancia. Por lo tanto, no puede usar el identificador de instancia rellenado previamente predeterminado en el campo Id. de instancia .
      • Puede revisar el archivo summary.txt para buscar el identificador de instancia correcto.
    4. Complete el proceso de actualización.

    5. Una vez que el nodo A se haya actualizado correctamente, vuelva a agregarlo a la lista de posibles propietarios en el recurso Nombre del servidor de la instancia del clúster de conmutación por error de SQL Server.

Impedir que el problema afecte a las nuevas actualizaciones

Para evitar este problema, use una de las siguientes opciones:

  • Opción 1

    1. Actualice primero no más de la mitad de los nodos pasivos para evitar cruzar el umbral de mayoría.

      Nota:

      • Si tiene un número par de nodos de clúster, actualice no más de la mitad de los nodos pasivos.
      • Si tiene un número impar de nodos de clúster, asegúrese de actualizar menos de la mitad de los nodos del clúster. Si se actualiza la mayoría de los nodos del clúster, este problema se producirá cuando se produzca una conmutación por error del grupo de recursos del clúster.
    2. Vuelva a agregar manualmente los nodos pasivos actualizados a la lista de posibles propietarios para el recurso Nombre del servidor.

    3. Quite los nodos no actualizados de la lista de posibles propietarios.

    4. Conmutación por error manual del grupo de clústeres de SQL Server a uno de los nodos actualizados.

    5. Actualice los nodos restantes no actualizados.

    6. Cuando se actualicen todos los nodos no actualizados, vuelva a agregarlos manualmente a la lista de posibles propietarios en el recurso Nombre del servidor.

  • Opción 2

    Este problema se ha corregido en SQL Server Service Pack 1 (SP1) de 2012. Puede realizar el proceso de actualización en cada nodo de clúster mediante los archivos binarios del programa de instalación del Service Pack. Para ello, hay dos métodos.

    • Método A

      1. Descargue SQL Server 2012 SP1 en un disco duro local (por ejemplo, a c:\sp1) o a un recurso compartido de red (por ejemplo, \\share name\sp1) al que puedan acceder todos los nodos.

      2. Inicie un símbolo del sistema como administrador y ejecute uno de los siguientes comandos:

        • <Download path>\setup.exe /action=upgrade /updatesource=c:\sp1
        • <Download path>\setup.exe /action=upgrade /updatesource=\\share name\sp1
      3. Complete todos los pasos del programa de instalación.

        Nota:

        Puede confirmar si la actualización usa archivos binarios de instalación de SQL Server 2012 SP1 comprobando el archivo detail.log en la siguiente ubicación:%Program Files%\Microsoft SQL Server\110\Setup Bootstrap\Log\<Time stamped folder>

        Confirme que la información de versión que se encuentra cerca del principio del archivo de registro muestra que la versión de SQL Server 2012 es posterior a 11.0.2100.60. Por ejemplo, el archivo de registro puede contener lo siguiente:

    • Método B

      1. Descargue SQL Server 2012 SP1 en un disco duro local (por ejemplo, a c:\sp1) o a un recurso compartido de red (por ejemplo, \\share name\sp1) al que puedan acceder todos los nodos.

      2. Inicie un símbolo del sistema como administrador y ejecute el siguiente comando:

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

        Este comando aplicará una revisión previa al nodo con los archivos binarios de instalación de SQL Server 2012 SP1.

        Nota:

        No se puede instalar el archivo deSqlSupport.msi por sí mismo, ya que provocará un error en la operación de instalación de SQL Server 2012 y se mostrará un error al no tener el MSVCR100.dll. Use el/Q parámetro para evitar este error. Este parámetro instala el archivo Sqlsupport.msi y los componentes del entorno de ejecución de Visual C++.

      3. Complete todos los pasos del programa de instalación.

Más información

Descarga de Service Pack 1 para SQL Server 2012

Se aplica 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