Solución de problemas de clústeres de conmutación por error

Se aplica a:SQL Server

En este artículo se proporciona información sobre los siguientes problemas:

Pasos básicos para solucionar problemas

El primer paso de diagnóstico consiste en ejecutar una comprobación de validación de clúster nueva. Para obtener más información sobre la validación, vea Creación de un clúster de conmutación por error: validación de la configuración. Esto se puede completar sin ninguna interrupción del servicio, ya que no afecta a ningún recurso de clúster en línea.

La validación se puede llevar a cabo en cualquier momento una vez instalada la característica Clúster de conmutación por error; por ejemplo, antes de implementar el clúster, durante su creación y mientras se esté ejecutando. De hecho, se ejecutan pruebas adicionales una vez que el clúster está en uso, que comprueba que se siguen los procedimientos recomendados para cargas de trabajo de alta disponibilidad. En estas docenas de pruebas, solo algunas afectan a las cargas de trabajo de clúster en ejecución y todas están dentro de la categoría de almacenamiento, por lo que omitir toda esta categoría es una manera fácil de evitar pruebas perjudiciales.

Los clústeres de conmutación por error incluyen una protección integrada para evitar tiempos de inactividad accidentales al ejecutar las pruebas de almacenamiento durante la validación. Si el clúster tiene grupos en línea cuando se inicia la validación y las pruebas de almacenamiento permanecen seleccionadas, solicita al usuario que confirme si desea ejecutar todas las pruebas (y provocar tiempo de inactividad) o omitir la prueba de los discos de cualquier grupo en línea para evitar el tiempo de inactividad. Si se ha excluido toda la categoría de almacenamiento de la prueba, no se muestra este mensaje. Esto permite la validación del clúster sin tiempo de inactividad.

Cómo volver a validar el clúster

  1. En el complemento Clúster de conmutación por error, en el árbol de la consola, asegúrese de que esté seleccionado Administración de clústeres de conmutación por error y, a continuación, en Administración, seleccione Validar una configuración.

  2. Siga las instrucciones del asistente para especificar los servidores y las pruebas, y ejecute estas últimas. Se mostrará la página Resumen tras ejecutar las pruebas.

  3. Mientras sigue en la página Resumen , seleccione Ver informe para ver los resultados de la prueba.

    Para ver los resultados de las pruebas después de cerrar el asistente, vea %SystemRoot%\Cluster\Reports\Validation Report date and time.html dónde %SystemRoot% está la carpeta en la que está instalado el sistema operativo (por ejemplo, C:\Windows).

  4. Para ver artículos de ayuda que le ayuden a interpretar los resultados, seleccione Más información sobre las pruebas de validación de clústeres.

Para ver artículos de ayuda sobre la validación del clúster después de cerrar el asistente, en el complemento Clúster de conmutación por error, seleccione Ayuda, seleccione Temas de ayuda, seleccione la pestaña Contenido, expanda el contenido de la ayuda del clúster de conmutación por error y seleccione Validación de una configuración de clúster de conmutación por error. Una vez que el Asistente para validación haya finalizado, los resultados se mostrarán en Informe de resumen . Se deben superar todas las pruebas con una marca de verificación verde o, en algunos casos, un triángulo amarillo (advertencia). Al buscar áreas problemáticas (signos X rojo o signos de interrogación amarillo), en la parte del informe que resume los resultados de la prueba, seleccione una prueba individual para revisar los detalles. Cualquier problema marcado con una X roja debe resolverse antes de solucionar los problemas de SQL Server.

Instale actualizaciones

La instalación de las actualizaciones constituye un factor importante para evitar problemas en su sistema. Vínculos útiles:

Recuperación tras un fallo del clúster de conmutación por error

Normalmente, un error de clúster de conmutación por error se debe a uno de los dos motivos siguientes:

  • Error de hardware en un nodo de un clúster de dos nodos. Este error de hardware podría estar causado por un error de la tarjeta SCSI o del sistema operativo.

    Para solucionar este error, quite el nodo en el que se ha producido el error de la instancia de clúster de conmutación por error mediante el programa de instalación de SQL Server , solucione el error de hardware con el equipo sin conexión, vuelva a conectar el equipo y, a continuación, agregue el nodo reparado a la instancia de clúster de conmutación por error.

    Para obtener más información, consulte Crear una nueva instancia de clúster de conmutación por error Always On (configuración) y Recuperación tras un fallo de la instancia del clúster de conmutación por error.

  • Error del sistema operativo. En este caso, el nodo está sin conexión, pero no se interrumpe irrecuperablemente.

    Para recuperarse de un error del sistema operativo, recupere el nodo y pruebe la conmutación por error. Si la instancia de SQL Server no realiza la conmutación por error correctamente, debes utilizar el programa de instalación de SQL Server para eliminar SQL Server del clúster de conmutación por error, realizar las reparaciones necesarias, volver a poner en marcha el ordenador y, a continuación, volver a añadir el nodo reparado a la instancia del clúster de conmutación por error.

    La recuperación de un error del sistema operativo de esta forma puede llevar algún tiempo. Si el error del sistema operativo se puede recuperar fácilmente, evite el uso de esta técnica.

    Para obtener más información, consulte Crear una nueva instancia de clúster de conmutación por error Always On (configuración) y Recuperación tras un fallo de la instancia del clúster de conmutación por error.

Resolución de problemas comunes

En la siguiente lista se describen los problemas de uso más comunes y se explica cómo resolverlos.

Problema: uso incorrecto de la sintaxis del símbolo del sistema para instalar SQL Server

Problema 1: Resulta difícil diagnosticar problemas de instalación cuando se utiliza el modificador /qn desde la línea de comandos, ya que el modificador /qn suprime todos los cuadros de diálogo y mensajes de error de la instalación. Si se especifica el modificador /qn, todos los mensajes de la instalación, incluidos los mensajes de error, se registran en los archivos de registro de la instalación. Para obtener más información sobre los archivos de registro, vea Ver y leer los archivos de registro del programa de instalación de SQL Server.

Resolución 1: Utilice el /qb interruptor en lugar del /qn interruptor. Si usa el /qb interruptor, se mostrará la interfaz de usuario básica en cada uno de los pasos, incluidos los mensajes de error.

Problema: SQL Server no se puede conectar a la red después de migrar a otro nodo

Problema 1: las cuentas de servicio de SQL Server no pueden ponerse en contacto con un controlador de dominio.

Solución 1: compruebe los registros de eventos para ver si hay problemas de red, como errores de los adaptadores o problemas de DNS. Compruebe que puede hacer ping al controlador de dominio.

Problema 2: Las contraseñas de la cuenta de servicio de SQL Server no son idénticas en todos los nodos del clúster o el nodo no reinicia un servicio de SQL Server que se ha migrado desde un nodo con errores.

Solución 2: cambie las contraseñas de las cuentas de servicio de SQL Server mediante el Administrador de configuración de SQL Server. Si no lo hace y cambia las contraseñas de la cuenta de servicio de SQL Server en un nodo, también debe cambiar las contraseñas en todos los demás nodos. Administrador de configuración de SQL Server lo hace automáticamente.

Problema: SQL Server no puede acceder a los discos del clúster

Problema 1: El firmware o los controladores no se actualizan en todos los nodos.

Solución 1: compruebe que todos los nodos utilizan versiones correctas del firmware además de las mismas versiones de los controladores.

Problema 2: Un nodo no puede recuperar discos de clúster que se han migrado desde un nodo con error en un disco de clúster compartido con una letra de unidad diferente.

Solución 2: Las letras de las unidades de disco del clúster deben ser las mismas en ambos servidores. Si no lo son, revise la instalación original del sistema operativo y el servicio de clúster de Microsoft (MSCS).

Problema: un error en un servicio de SQL Server provoca una conmutación por error

Solución: para evitar que errores en servicios concretos hagan que el grupo de SQL Server realice una conmutación por error, configure estos servicios mediante el Administrador de clústeres de Windows, de la forma siguiente:

  • Desactive la casilla Afectar al grupo de la pestaña Avanzadas , en el cuadro de diálogo Propiedades de texto completo . No obstante, si SQL Server provoca una conmutación por error, se reiniciará el servicio de búsqueda de texto completo.

Problema: SQL Server no se inicia automáticamente

Resolución: utilice el Administrador de clústeres de MSCS para iniciar automáticamente un clúster de conmutación por error. El servicio SQL Server debe establecerse en inicio manual; el Administrador de clústeres debe estar configurado en MSCS para iniciar el servicio SQL Server . Para obtener más información, consulte Administrar servicios.

Problema: el nombre de red está sin conexión y no se puede conectar a SQL Server mediante TCP/IP

Problema 1: DNS falla con el recurso del clúster configurado para requerir DNS.

Solución 1: solucione los problemas de DNS.

Problema 2: hay un nombre duplicado en la red.

Resolución 2: Use nbtstat para encontrar el nombre duplicado y, a continuación, corrija el problema.

Problema 3: SQL Server no se conecta mediante canales con nombre.

Solución 3: Para conectarse mediante canalizaciones con nombre, cree un alias con el Administrador de configuración de SQL Server para conectarse al equipo correcto. Por ejemplo, si tiene un clúster con dos nodos (Nodo A y Nodo B) y una instancia de clúster de conmutación por error (Virtsql) con una instancia predeterminada, puede conectarse al servidor que tiene el recurso «Nombre de red» sin conexión siguiendo estos pasos:

  1. Determine en qué nodo se ejecuta el grupo que contiene la instancia de SQL Server mediante el Administrador de clústeres. En este ejemplo, es el nodo A.

  2. Inicie el servicio SQL Server en ese equipo mediante net start. Para obtener más información sobre cómo utilizar net start, consulte Iniciar SQL Server manualmente.

  3. Inicie el Administrador de configuración de SQL Server de SQL Server en Node A. Consulte el nombre de la canalización donde escucha el servidor. Debe ser similar a \\.\$$\VIRTSQL\pipe\sql\query.

  4. En el equipo cliente, inicie el Administrador de configuración de SQL Server.

  5. Crea un alias SQLTEST1 para conectarte a través de canalizaciones con nombre a este nombre de canalización. Para ello, escriba node A como nombre del servidor y edite el nombre de canalización para que sea \\.\pipe\$$\VIRTSQL\sql\query.

  6. Conéctese a esta instancia mediante el alias SQLTEST1 como nombre del servidor.

Problema: el programa de instalación de SQL Server genera el error 11001 en un clúster

Problema: Una clave de registro huérfana en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Cluster.

Resolución: Asegúrese de que el MSSQL.X subárbol del Registro no está en uso actualmente y, a continuación, elimine la clave de clúster.

Problema: error del programa de instalación del clúster: "El instalador no dispone de privilegios suficientes para obtener acceso a este directorio: <unidad>\Microsoft SQL Server. La instalación no puede continuar. Inicie sesión como administrador o póngase en contacto con el administrador del sistema".

Emitir: Este error se debe a una unidad compartida SCSI que no está particionada correctamente.

Resolución: Vuelva a crear una sola partición en el disco compartido mediante los pasos siguientes:

  1. Elimine el recurso de disco del clúster.
  2. Elimine todas las particiones del disco.
  3. Compruebe en las propiedades del disco que se trata de un disco básico.
  4. Cree una partición en el disco compartido, formatee el disco y asigne una letra de unidad al disco.
  5. Agregue el disco al clúster mediante el Administrador de clústeres (cluadmin).
  6. Ejecute el programa de instalación de SQL Server .

Problema: las aplicaciones no consiguen dar de alta los recursos de SQL Server en una transacción distribuida

Problema: Dado que el Coordinador de transacciones distribuidas de Microsoft (MS DTC) no está completamente configurado en Windows, es posible que las aplicaciones no logren registrar recursos de SQL Server en una transacción distribuida. Este problema puede afectar a servidores vinculados, consultas distribuidas y procedimientos almacenados remotos que utilicen transacciones distribuidas. Para obtener más información acerca de cómo configurar MS DTC, consulte Antes de instalar clústeres de conmutación por error.

Resolución: para evitar este tipo de problemas, deberá habilitar totalmente los servicios MS DTC en los servidores en que esté instalado SQL Server y esté configurado MS DTC.

Para habilitar completamente MS DTC, lleve a cabo los siguientes pasos:

  1. En el Panel de control, abra Herramientas administrativasy, a continuación, abra Administración de equipos.

  2. En el panel izquierdo de Administración de equipos, expanda Servicios y aplicaciones y, a continuación, seleccione Servicios.

  3. En el panel derecho de Administración de equipos, haga clic con el botón derecho en Coordinador de transacciones distribuidasy seleccione Propiedades.

  4. En la ventana Coordinador de transacciones distribuidas , seleccione la pestaña General y, a continuación, seleccione Detener para detener el servicio.

  5. En la ventana Coordinador de transacciones distribuidas , seleccione la pestaña Inicio de sesión y establezca la cuenta NT AUTHORITY\NetworkServicede inicio de sesión .

  6. Seleccione Aplicar y Aceptar para cerrar la ventana Coordinador de transacciones distribuidas . Cierre la ventana Administración de equipos . Cierre la ventana Herramientas administrativas .

Problema: Agente SQL Server no puede conectarse a una instancia de clúster de conmutación por error de varias subredes en un puerto personalizado

Problema: Agente SQL Server no puede conectarse al Motor de base de datos local cuando se cumplen todas las siguientes condiciones:

  1. SQL Server se instala como una instancia de clúster de conmutación por error de varias subredes.
  2. La instancia del clúster de conmutación por error es una instancia predeterminada.
  3. El Motor de base de datos escucha en un puerto TCP fijo distinto del 1433 por defecto.
  4. Agente SQL Server se conecta a la instancia local durante el arranque.

Para una instancia de clúster de conmutación por error de varias subredes, la conexión inicial de Agente SQL Server utiliza MultiSubnetFailover=Yes. Esta configuración hace que el cliente use TCP. La conexión no recurre a memoria compartida ni a tuberías nombradas. Cuando el objetivo está (local) y no se especifica ningún puerto, la conexión intenta el puerto TCP 1433. La conexión falla si el Motor de base de datos no escucha en ese puerto.

Podrías ver una conexión similar a la siguiente en un trazo ODBC:

DRIVER=ODBC Driver 17 for SQL Server;SERVER=(local);APP=SQLAgent - Initial Boot Probe;DATABASE=master;MultiSubnetFailover=YES;

Resolución: Crear un alias TCP que dirija la conexión del Agente SQL Server al nombre de red virtual y al puerto TCP configurado de la instancia de clúster de conmutación por error. Configure el alias en cada nodo que pueda alojar la instancia del clúster de conmutación por error.

Paso 1: Confirmar el puerto TCP configurado

  1. En el nodo activo, abre Administrador de configuración de SQL Server.
  2. Expande la configuración de red de SQL Server y luego selecciona Protocolos para MSSQLSERVER.
  3. Abre TCP/IP y luego selecciona la pestaña de Direcciones IP .
  4. Si Listen All está configurado en , ten en cuenta el valor del puerto TCP bajo IPAll.
  5. Si Listen All está configurado en No, anote el valor del puerto TCP para cada dirección IP habilitada utilizada por la instancia del clúster de conmutación por error.
  6. Confirme que el registro de errores de SQL Server muestra que el Motor de base de datos está escuchando en el puerto esperado.

Para obtener más información, consulte Configurar un SQL Server para que escuche en un puerto TCP específico.

Paso 2: Crear el alias TCP en cada nodo del clúster

Siga estos pasos en cada nodo que pueda alojar la instancia de clúster de conmutación por error:

  1. Abre la herramienta de configuración de alias cliente de SQL Server que se aplica a la versión instalada de SQL Server.
  2. Crea un nuevo alias.
  3. En Nombre de Alias, introduce un nombre único para la conexión local del Agente SQL Server. Usa el mismo nombre de alias en cada nodo.
  4. Selecciona TCP/IP como protocolo.
  5. En Servidor, introduce el nombre de red virtual de la instancia del clúster de conmutación por fallo. No introduzcas el nombre físico del nodo.
  6. En el puerto No, introduce el puerto TCP fijo identificado en el paso 1.
  7. Guarda el alias.

Para instrucciones detalladas y requisitos de versión, consulte Crear o eliminar un alias de servidor para su uso por un cliente.

Importante

Un alias de SQL Server es una configuración de cliente. Cree un alias idéntico en cada nodo que pueda alojar la instancia del clúster de conmutación por error. De lo contrario, Agente SQL Server podría fallar después de que la instancia se mueva a un nodo donde el alias no está configurado.

Paso 3: Configurar Agente SQL Server para usar el alias

  1. En SQL Server Management Studio, conéctese a la instancia de clúster de conmutación por error.
  2. En Explorador de objetos, expande la instancia.
  3. Haz clic derecho en Agente SQL Server y luego selecciona Propiedades.
  4. En Seleccionar una página, selecciona Conexión.
  5. En Servidor host local de alias, introduce el nombre del alias creado en el paso 2.
  6. Selecciona Aceptar.
  7. Reinicie el Agente SQL Server.

Para más información, consulte Establecer un alias de SQL Server para el servicio Agente SQL Server.

Paso 4: Validar la configuración

  1. Confirma que Agente SQL Server se inicia correctamente.
  2. Revisa el registro del Agente SQL Server y confirma que ese Agente está conectado a la instancia local del Motor de base de datos prevista.
  3. Ejecute un trabajo sencillo del Agente SQL Server para confirmar que los trabajos puedan conectarse a la instancia.
  4. En un momento en el que no se interrumpan las operaciones normales de la empresa, mueva la instancia de clúster de conmutación por error a otro nodo propietario posible.
  5. Confirma que Agente SQL Server se inicia y que el trabajo de prueba tiene éxito en ese nodo.
  6. Repite la prueba para cada posible nodo propietario.

Utilizar procedimientos almacenados extendidos y objetos COM

Cuando se utilizan procedimientos almacenados extendidos con una configuración de clústeres de conmutación por error, es necesario instalar todos los procedimientos almacenados extendidos en un disco de clúster dependiente de SQL Server. De esta manera, se asegura de que podrá utilizar los procedimientos almacenados extendidos aunque un nodo conmute en caso de error.

Si los procedimientos almacenados extendidos utilizan componentes COM, el administrador debe registrarlos en cada nodo del clúster. La información para cargar y ejecutar los componentes COM debe estar en el Registro del nodo activo para que los componentes se puedan crear. En caso contrario, la información permanece en el Registro del equipo donde se registraron por primera vez los componentes COM.