Solucionar problemas de configuración de grupos de disponibilidad AlwaysOn (SQL Server)
En este tema se proporciona información que le ayudará a solucionar problemas típicos con la configuración de instancias de servidor para Always On grupos de disponibilidad. Los problemas de configuración típicos incluyen Always On grupos de disponibilidad está deshabilitado, las cuentas están configuradas incorrectamente, el punto de conexión de creación de reflejo de la base de datos no existe, el punto de conexión no es accesible (SQL Server error 1418), el acceso a la red no existe y se produce un error en un comando de combinación de base de datos (SQL Server error 35250).
Nota:
Asegúrese de que cumple los requisitos previos de los grupos de disponibilidad Always On. Para obtener más información, consulte Requisitos previos, restricciones y recomendaciones para grupos de disponibilidad AlwaysOn (SQL Server).
En este tema:
Sección | Descripción |
---|---|
Los grupos de disponibilidad AlwaysOn no están habilitados | Si una instancia de SQL Server no está habilitada para Always On grupos de disponibilidad, la instancia no admite la creación de grupos de disponibilidad y no puede hospedar ninguna réplica de disponibilidad. |
Cuentas | Analiza los requisitos para configurar correctamente las cuentas en que se ejecuta SQL Server . |
Extremos | Analiza cómo diagnosticar problemas relativos al extremo de creación de reflejo de la base de datos de una instancia de servidor. |
Nombre del sistema | Resume las alternativas para especificar el nombre del sistema de una instancia de servidor en una dirección URL del extremo. |
Acceso de red | Documenta el requisito de que cada instancia de servidor que hospeda una réplica de disponibilidad debe tener acceso al puerto de cada una de las demás instancias de servidor en TCP. |
Acceso al extremo (error 1418 de SQL Server) | Contiene información sobre este mensaje de error de SQL Server . |
Error de unión de la base de datos (error 35250 de SQL Server) | Analiza las posibles causas y la resolución de un error al unir las bases de datos secundarias a un grupo de disponibilidad porque la conexión a la réplica principal no está activa. |
El enrutamiento de solo lectura no funciona correctamente | |
Tareas relacionadas | Contiene una lista de temas orientados a tareas en SQL Server libros en pantalla de 2014 que son especialmente relevantes para solucionar problemas de una configuración de grupo de disponibilidad. |
Contenido relacionado | Contiene una lista de recursos importantes externos a los Libros en pantalla de SQL Server . |
Los grupos de disponibilidad AlwaysOn no están habilitados
La característica grupos de disponibilidad Always On debe estar habilitada en cada una de las instancias de SQL Server 2014. Para más información, vea Habilitar y deshabilitar grupos de disponibilidad de AlwaysOn (SQL Server).
Cuentas
Las cuentas en las que se ejecuta SQL Server deben estar configuradas correctamente.
¿Tienen las cuentas los permisos adecuados?
Si los asociados se ejecutan como la misma cuenta de usuario de dominio, automáticamente existen los inicios de sesión de usuario correctos en ambas bases de datos maestra . Esto simplifica la configuración de seguridad de la base de datos y es recomendable su aplicación.
Si dos instancias del servidor se ejecutan como cuentas diferentes, el inicio de sesión en cada cuenta debe crearse en la base de datos maestra en la instancia del servidor remoto, y se deben conceder a ese inicio de sesión permisos CONNECT para conectarse al extremo de creación de reflejo de la base de datos de esa instancia del servidor. Para obtener más información, vea Configurar cuentas de inicio de sesión para la creación de reflejo de la base de datoso grupos de disponibilidad AlwaysOn (SQL Server).
Si SQL Server se ejecuta como una cuenta integrada, como sistema local, servicio local o servicio de red, o una cuenta de nondomain, debe usar certificados para la autenticación de punto de conexión. Si las cuentas de servicio utilizan cuentas de dominio en el mismo dominio, puede elegir conceder acceso CONNECT para cada cuenta de servicio en todas las ubicaciones de réplica o puede utilizar certificados. Para obtener más información, vea Usar certificados para un punto de conexión de creación de reflejo de la base de datos (Transact-SQL).
Puntos de conexión
Los extremos deben estar configurados correctamente.
Asegúrese de que cada instancia de SQL Server que vaya a hospedar una réplica de disponibilidad (cada ubicación de réplica) tenga un punto de conexión de creación de reflejo de la base de datos. Para determinar si existe un punto de conexión de creación de reflejo de la base de datos en una instancia de servidor determinada, use la vista de catálogo sys.database_mirroring_endpoints. Para obtener más información, vea Crear un punto de conexión de creación de reflejo de la base de datos para la autenticación de Windows (Transact-SQL) o Permitir que un punto de conexión de creación de reflejo de la base de datos use certificados para conexiones salientes (Transact-SQL).
Compruebe que los números de puerto son correctos.
Para identificar el puerto asociado actualmente al punto de conexión de reflejo de la base de datos de una instancia de servidor, utilice la siguiente instrucción Transact-SQL:
SELECT type_desc, port FROM sys.tcp_endpoints; GO
Para Always On problemas de configuración de grupos de disponibilidad que son difíciles de explicar, se recomienda inspeccionar cada instancia de servidor para determinar si está escuchando en los puertos correctos. Para obtener más información sobre la comprobación de disponibilidad de puertos, vea MSSQLSERVER_1418.
Asegúrese de que se han iniciado los extremos (STATE=STARTED). En cada una de las instancias de servidor, utilice la siguiente instrucción Transact-SQL.
SELECT state_desc FROM sys.database_mirroring_endpoints
Para obtener más información sobre la columna state_desc, consulte sys.database_mirroring_endpoints (Transact-SQL).
Para iniciar un punto de conexión, utilice la siguiente instrucción Transact-SQL:
ALTER ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP (LISTENER_PORT = <port_number>) FOR database_mirroring (ROLE = ALL); GO
Para obtener más información, vea ALTER ENDPOINT (Transact-SQL).
Asegúrese de que el inicio de sesión del otro servidor dispone de permiso CONNECT. Para determinar quién tiene permiso CONNECT para un punto de conexión, utilice la siguiente instrucción Transact-SQL en cada instancia de servidor
SELECT 'Metadata Check'; SELECT EP.name, SP.STATE, CONVERT(nvarchar(38), suser_name(SP.grantor_principal_id)) AS GRANTOR, SP.TYPE AS PERMISSION, CONVERT(nvarchar(46),suser_name(SP.grantee_principal_id)) AS GRANTEE FROM sys.server_permissions SP , sys.endpoints EP WHERE SP.major_id = EP.endpoint_id ORDER BY Permission,grantor, grantee; GO
Nombre del sistema
Como nombre del sistema de una instancia de servidor en una dirección URL del extremo, se puede utilizar cualquier nombre que identifique el sistema de forma inequívoca. La dirección del sistema puede ser un nombre del sistema (si los sistemas se encuentran en el mismo dominio), un nombre de dominio completo o una dirección IP (de preferencia, una dirección IP estática). Se garantiza que el uso de un nombre de dominio completo funciona correctamente. Para obtener más información, vea Especificar la dirección URL del punto de conexión - Agregar o modificar una réplica de disponibilidad (SQL Server).
Acceso de red
Cada instancia de servidor que hospeda una réplica de disponibilidad debe tener acceso al puerto de cada una de las demás instancias de servidor en TCP. Esto es especialmente importante si las instancias de servidor están en distintos dominios que no confían unos en otros (dominios que no son de confianza).
Acceso al extremo (error 1418 de SQL Server)
Este mensaje de SQL Server indica que la dirección de red del servidor especificada en la dirección URL del extremo no se encuentra o no existe, y recomienda que se compruebe el nombre de dirección de red y se vuelva a emitir el comando. Para obtener más información, vea MSSQLSERVER_1418.
Error de unión de la base de datos (error 35250 de SQL Server)
En esta sección se analiza las posibles causas y la resolución de un error al unir las bases de datos secundarias al grupo de disponibilidad porque la conexión a la réplica principal no está activa.
Resolución:
Compruebe la configuración de firewall para ver si permite la comunicación de puerto del extremo entre las instancias de servidor que hospedan la réplica principal y la réplica secundaria (puerto 5022 de forma predeterminada).
Compruebe si la cuenta de servicio de red tiene permiso de conexión para el extremo.
El enrutamiento de solo lectura no funciona correctamente
Compruebe los siguientes valores de configuración y corríjalos si es necesario.
En... | Acción | Comentarios | Vínculo | |
---|---|---|---|---|
Réplica principal actual | Asegúrese de que el agente de escucha del grupo de disponibilidad está en línea. | Para comprobar si el agente de escucha está en línea:SELECT * FROM sys.dm_tcp_listener_states; Para reiniciar un agente de escucha sin conexión: ALTER AVAILABILITY GROUP myAG RESTART LISTENER 'myAG_Listener'; |
sys.dm_tcp_listener_states (Transact-SQL) ALTER AVAILABILITY GROUP (Transact-SQL) |
|
Réplica principal actual | Asegúrese de que READ_ONLY_ROUTING_LIST contiene solo instancias de servidor que hospedan una réplica secundaria legible. | Para identificar réplicas secundarias legibles: sys.availability_replicas (columna secondary_role_allow_connections_desc ) Para ver una lista de enrutamiento de solo lectura: sys.availability_read_only_routing_lists Para cambiar una lista de enrutamiento de solo lectura: ALTER AVAILABILITY GROUP |
sys.availability_replicas (Transact-SQL) sys.availability_read_only_routing_lists (Transact-SQL) ALTER AVAILABILITY GROUP (Transact-SQL) |
|
Todas las réplicas de read_only_routing_list | Asegúrese de que el firewall de Windows no está bloqueando el puerto de READ_ONLY_ROUTING_URL. | - | Configuración de Firewall de Windows para el acceso al motor de base de datos | |
Todas las réplicas de read_only_routing_list | En Administrador de configuración de SQL Server, compruebe que: La conectividad remota de SQL Server está habilitada. TCP/IP está habilitado. Las direcciones IP están configuradas correctamente. |
- | Ver o cambiar las propiedades del servidor (SQL Server) Configurar un servidor para que escuche en un puerto TCP específico (Administrador de configuración de SQL Server) |
|
Todas las réplicas de read_only_routing_list | Asegúrese de que el READ_ONLY_ROUTING_URL (TCP://system-address :port) contiene el nombre de dominio completo (FQDN) y el número de puerto correctos. |
- | Calcular Read_only_routing_url para AlwaysOn sys.availability_replicas (Transact-SQL) ALTER AVAILABILITY GROUP (Transact-SQL) |
|
Sistema cliente | Compruebe que el controlador cliente admite el enrutamiento de solo lectura. | - | Conectividad de cliente de AlwaysOn (SQL Server) |
Related Tasks
Creación y configuración de grupos de disponibilidad (SQL Server)
Crear un extremo de reflejo de la base de datos para la autenticación de Windows (Transact-SQL)
Preparar manualmente una base de datos secundaria para un grupo de disponibilidad (SQL Server)
Contenido relacionado
Consulte también
Seguridad de transporte para la creación de reflejo de la base de datos y los grupos de disponibilidad AlwaysOn (SQL Server)Requisitos previos, restricciones y recomendaciones de configuración de red de cliente para grupos de disponibilidad AlwaysOn (SQL Server)