Principales respuestas
Problema con Active Directory y SQL

Pregunta
-
Holas,
Tengo un entorno de red con dos controladores de dominio, y un server miembro corriendo sql server 2000 con autenticacion windows(integrado a AD).
Cuando reinicio/apago el Controlador de dominio primario(el que tiene los 5 roles FSMO), resulta que la conectividad en la red se pone inestable y principalmente el acceso al servidor SQL se pierde desde cualquier PC, incluso desde el segundo controlador de dominio, los pings si funcionan pero el acceso por entorno de red no.
Pero cuando apago/reinicio el Controlador de dominio secundario(el que no tiene los 5 roles FSMO) todo funciona sin problemas.
Que puede ser? y como lo soluciono?
Gracias
Respuestas
-
Ese error sale siempre cuando usas "nltest /sc_query:" en el PDC emulator, aunque no haya ningún problema.
- Marcado como respuesta Ismael Borche lunes, 29 de agosto de 2011 20:45
Todas las respuestas
-
-
El problema es que cuando se reinicia uno de los DCs(cualquiera), desde cualquier estacion de trabajo:
1)No se accede con \\SERVIDOR_SQL a la maquina que es servidor sqlserver ni a sus recursos compartidos, y despues de bastante tiempo de espera indica que seguramente no se tienen los suficientes privilegios
2)Obviamente tampoco se puede acceder al servicio SQLserver para el acceso a las bases de datos
3)Si se puede acceder a otras PCs
4)Si responde el comando: ping SERVIDOR_SQL (pues tambien resuelve el nombre por dns)
5)Se puede iniciar sesion con un usuario del dominio
Para volver a la normalidad se reinicia el SERVIDOR_SQL
Por si acaso SERVIDOR_SQL esta con firewall desactivado
-
Ejecuta
"nltest /sc_query:<nombre_de_dominio>
en el SQL server antes y después de re-iniciar uno de los DCs. Mira si hay diferencia cuando funciona y cuando no.
También has un "ping" del nombre del dominio antes y después para ver si hay diferencia. Por ejemplo: "ping dominio.com". Antes de hacer el ping, asegurate de ejecutar "ipconfig /flushdns".
Romano.
-
Romano:
Hice las siguientes pruebas:
1)Con DC1 y DC2 funcionando
En SQLSERVER salió:C:\TEMP>nltest /sc_query:DOMINIO.LAN
Flags: 30 HAS_IP HAS_TIMESERV
Trusted DC Name \\DC1.DOMINIO.LAN
Trusted DC Connection Status Status = 0 0x0 NERR_Success
The command completed successfullyC:\TEMP>ipconfig /flushdns
C:\TEMP>ping DOMINIO.LAN (hay respuesta, aleatoriamente aveces resuelve al IP de DC1 o DC2)No hay problemas en el acceso a SQLSERVER
2)Luego de apagar el DC2
En SQLSERVER salió:C:\TEMP>nltest /sc_query:DOMINIO.LAN
Flags: 30 HAS_IP HAS_TIMESERV
Trusted DC Name \\DC1.DOMINIO.LAN
Trusted DC Connection Status Status = 0 0x0 NERR_Success
The command completed successfullyC:\TEMP>ipconfig /flushdns
C:\TEMP>ping DOMINIO.LAN (aleatoriamente, si resuelve al IP de DC1 hay respuesta y si resuelve al IP de DC2 no hay respuesta)No hay problemas en el acceso a SQLSERVER
3)Con DC1 y DC2 funcionando otra vez, luego de apagar DC1
En SQLSERVER salió:C:\TEMP>nltest /sc_query:DOMINIO.LAN
Flags: 30 HAS_IP HAS_TIMESERV
Trusted DC Name \\DC1.DOMINIO.LAN
Trusted DC Connection Status Status = 0 0x0 NERR_Success
The command completed successfullyC:\TEMP>ipconfig /flushdns
C:\TEMP>ping DOMINIO.LAN (aleatoriamente, si resuelve al IP de DC2 hay respuesta y si resuelve al IP de DC1 no hay respuesta)Si hay problemas en el acceso a SQLSERVER y entre PCs el acceso es
posible pero con cierto retardo, las PCs si se pueden loguear al dominio
4)Con solo DC2 funcionado, luego de reiniciar SQLSERVER....
En SQLSERVER sale:C:\TEMP>nltest.exe /sc_query:DOMINIO.LAN
Flags: 30 HAS_IP HAS_TIMESERV
Trusted DC Name \\DC2.DOMINIO.LAN
Trusted DC Connection Status Status = 0 0x0 NERR_Success
The command completed successfullyC:\TEMP>ipconfig /flushdns
C:\TEMP>ping DOMINIO.LAN (aleatoriamente, si resuelve al IP de DC2 hay respuesta y si resuelve al IP de DC1 no hay respuesta)Como lo ves?
Sin reiniciar SQLSERVER... hay alguna forma de resetear el canal seguro entre SQLSERVER y el DC-apagado, y crear uno con el DC-disponible, o incluso tener dos para fines de disponibilidad?
Gracias
-
Si. Es posible resetear el secure channel. Pero esto debería de ocurrir automaticamente cuando uno de los DCs no responde. Tienes algún firewall entre estos servidores que podría estar bloqueando algunos puertos de tcp? Tienes algunos errores en el System log en referencia a comunicación a través de la red?
Para resetear el secure channel, usa el siguiente comando en el SQL server:
nltest /sc_reset
OMINIO.LAN
Esto debería hacer que encuentre un DC que esté disponible automaticamente.
Si quieres forzar el SQL server a que establezca el secure channel con un DC específico:
nltest /sc_reset
OMINIO.LAN\<nombre_de_DC>
Romano.
-
Romano....
No hay firewall entre los servidores, y sobre errores en el visor de sucesos hay estos:
En SQLSERVER->aplicacion (cuando arranca el equipo):
Información: ID=17055 19013 : SQL server listening on TCP, Shared Memory, Named Pipes.
Error: ID=17055 19012uperSocket Info: Bind failed on TCP port 1433.
Error: ID=17055 19012uperSocket Info: Bind failed on TCP port 1433.
En SQLSERVER->sistema (cuando se apagó el DC1):
Error: ID=5783 La configuración de sesión del controlador de dominio de Windows NT o Windows 2000 \\DC1.DOMINIO.LAN para el dominio DOMINIO no responde. Se ha cancelado la llamada RPC desde Netlogon en \\SQLSERVER a \\DC1.DOMINIO.LAN
En SQLSERVER->sistema (algunas veces):
Información: ID=11160
El sistema no puede registrar el adaptador de red con la configuración:
Nombre de adaptador : {FFB321A0-B654-4E3F-93E2-27820B757874}
Nombre de host : sqlserver
Sufijo de dominio específico del adaptador DOMINIO.LAN
Lista de servidores DNS :
IP-DC1, IP-DC2
Se envió actualización al servidor : IP-DC1
Direcciones IP : IP-SQLSERVER
En DC1->sistema (cuando arranca el equipo):
Advertencia: ID=53258 MS DTC no pudo procesar correctamente un proceso de promoción o degradación de DC. MS DTC seguirá funcionando y utilizará la configuración de seguridad existente. Detalles del error: %1
Advertencia: ID=53258 MS DTC no pudo procesar correctamente un proceso de promoción o degradación de DC. MS DTC seguirá funcionando y utilizará la configuración de seguridad existente. Detalles del error: d:\nt\com\complus\dtc\dtc\adme\uiname.cpp:9351, Pid: 1276 No Callstack, CmdLine: C:\WINDOWS\system32\msdtc.exe
alguna idea? -
El evento 5783 es normal porque DC1 está apagada. El error de MS DTC no creo que este causadote este problema.
Hay algun error, cuando los 3 servidores estan funcionando bien, en el resultado de "nediag -v" ?
Si tienes antivirus en los servidores, talvez puedes hacer una prueba desabilitando todos los servidios de este, y reiniciar los servidores (de manera que los servicios desabilitados no se inicialicen), y despues mira se el problema se reproduce.
-
Romano.............
He probado el netdiag -v en los 3 servidores....con los siguientes resultados:
(1)En todos falla el gateway por defecto que supongo es porque no tienen uno establecido, supongo que es irrelevante
(2)En el SQLSERVER todo esta bien, por si acaso en la parte de relacion de confianza salio esto:
Trust relationship test. . . . . . : Passed
Test to ensure DomainSid of domain 'DOMINIO.LAN' is correct.
Secure channel for domain 'DOMINIO.LAN' is to '\\DC2.DOMINIO.LAN'Secure channel for domain 'DOMINIO.LAN' was successfully set to DC '\\DC1.DOMINIO.LAN'.
Secure channel for domain 'DOMINIO.LAN' was successfully set to DC '\\DC2.DOMINIO.LAN'.(3)En el DC2 todo esta bien, por si acaso en la parte de relacion de confianza salio esto:
Trust relationship test. . . . . . : Passed
Test to ensure DomainSid of domain 'DOMINIO.LAN' is correct.
Secure channel for domain 'DOMINIO.LAN' is to '\\DC1.DOMINIO.LAN'.
Secure channel for domain 'DOMINIO.LAN' was successfully set to PDC emulator '\\DC1.DOMINIO.LAN'.(4)En el DC1 todo bien.. excepto en la parte de relacion de confianza y anterior salio esto:
DC list test . . . . . . . . . . . : Passed
List of DCs in Domain 'DOMINIO':
DC1.DOMINIO.LAN
DC2.DOMINIO.LANTrust relationship test. . . . . . : Skipped
Luego probe con "nltest /sc_query: DOMINIO.LAN" en DC1, y me salio esto:
I_NetLogonControl failed: Status = 1355 0x54b ERROR_NO_SUCH_DOMAINLuego intente con sc_verify y sc_reset y no se soluciono...
que puede ser?
-
Ese error sale siempre cuando usas "nltest /sc_query:" en el PDC emulator, aunque no haya ningún problema.
- Marcado como respuesta Ismael Borche lunes, 29 de agosto de 2011 20:45