Cursos
Módulo
Aprenda a administrar la disponibilidad y recuperarse de desastres con SQL Managed Instance habilitado para Azure Arc.
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Se aplica a: SQL Server
Esta directiva comprueba el estado de conexión entre las réplicas de disponibilidad. La directiva está en mal estado cuando el estado de conexión de la réplica de disponibilidad es DISCONNECTED
. De lo contrario, la directiva está en un estado correcto.
La réplica secundaria no está conectada a la réplica principal. El estado es DISCONNECTED
. Este problema puede deberse a uno de los siguientes motivos:
Compruebe la configuración del extremo de creación de reflejo de la base de datos para las instancias de la réplica principal y secundaria, y actualice la configuración que no coincide. Compruebe si el puerto está en conflicto y, si en ese caso, cambie el número de puerto.
Las siguientes son posibles soluciones para este problema:
Ejecuta los siguientes comandos para diagnosticar el problema del puerto:
$server_name = "server_instance" #replace with your SQL Server instance
sqlcmd -S $server_name -E -Q "SELECT type_desc, port FROM sys.tcp_endpoints WHERE type_desc = 'DATABASE_MIRRORING'; "
El comando anterior devuelve el número de puerto que debes usar en el comando siguiente.
$port = "5022"
Get-NetTCPConnection -LocalPort $port
Get-Process -Id (Get-NetTCPConnection -LocalPort $port).OwningProcess | Select-Object Name, ProductVersion, Path, Id
Ejecuta este comando en ambos servidores y compara el cifrado y asegúrate de que ambos son iguales.
$server_name = "server_instance" #replace with your SQL Server instance
sqlcmd -S $server_name -E -Q "SELECT name, state_desc, encryption_algorithm_desc, protocol_desc, type_desc FROM sys.database_mirroring_endpoints"
Ejecute el siguiente comando si el punto de conexión de creación de reflejo sale y se inicia.
$server_name = "server_instance" #replace with your SQL Server instance
sqlcmd -S $server_name -E -Q "SELECT name, state_desc, encryption_algorithm_desc, protocol_desc, type_desc FROM sys.database_mirroring_endpoints"
Ejecuta el comando siguiente si sospechas que el punto de conexión no responde a las conexiones o no se está ejecutando.
$server_name = "server_instance" #use your SQL Server instance here
$server_name = "hadr_endpoint" #replace with your endpoint name
sqlcmd -S $server_name -E -Q "ALTER ENDPOINT hadr_endpoint STATE = stopped"
sqlcmd -S $server_name -E -Q "ALTER ENDPOINT hadr_endpoint STATE = started"
Advertencia
Al ejecutar el comando conSTATE = stopped
, se detendrá el punto de conexión y se interrumpirá temporalmente Always On flujo de tráfico.
Usa los siguientes comandos para probar la conectividad en ambas direcciones de Node1
a Node2
y Node2
a Node1
:
$computer = "remote_node" # replace with node name in your environment
$port = "5022" # replace with the port from your database_mirroring_endpoints
Test-NetConnection -ComputerName $computer -Port $port
Para probar si la cuenta de servicio puede conectarse al nodo remoto, siga estos pasos. En los pasos se supone que no has iniciado sesión con la cuenta de servicio.
Seleccione Inicio>Windows PowerShell> haga clic con el botón derecho en el icono.
Seleccione Más>ejecución como usuario>diferente Use una cuenta diferente.
Escriba el nombre y la contraseña de la cuenta de servicio.
Después de que se abra Windows PowerShell, escribe el siguiente comando para comprobar que has iniciado sesión con la cuenta de servicio:
whoami
A continuación, puede probar la conexión al nodo remoto, como en el siguiente ejemplo.
$computer = "remote_node" # replace with node name in your environment
$port = "5022" # replace with the port from your database_mirroring_endpoints
Test-NetConnection -ComputerName $computer -Port $port
Cursos
Módulo
Aprenda a administrar la disponibilidad y recuperarse de desastres con SQL Managed Instance habilitado para Azure Arc.
Documentación
Solucione los problemas más habituales relacionados con la configuración de las instancias de servidor para grupos de disponibilidad Always On en SQL Server.
Solución de problemas de conmutación por error de grupos de disponibilidad AlwaysOn - SQL Server
En este artículo se proporcionan pasos de solución de problemas que le ayudarán a determinar por qué el grupo de disponibilidad conmutó por error.
ALTER AVAILABILITY GROUP (Transact-SQL) - SQL Server
ALTER AVAILABILITY GROUP (Transact-SQL)