Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este artículo le ayuda a identificar la causa principal de los problemas de conectividad de SQL Server mediante la formulación de preguntas pertinentes basadas en categorías específicas. Aunque el artículo Requisitos previos recomendados y lista de comprobación para solucionar problemas de conectividad de SQL Server incluye los elementos más importantes que se van a recopilar, las preguntas de este artículo pueden ayudarle a reducir la causa de los problemas de conectividad y solucionarlos de forma eficaz.
Nota:
No todas las preguntas son aplicables a todos los problemas. Sin embargo, estas preguntas pueden guiarle a medida que considere cómo solucionar problemas de conectividad.
Con la información que se proporciona en este artículo, una vez que pueda poner en cero la naturaleza exacta del problema, consulte Información general sobre los problemas de autenticación coherentes en SQL Server para ver el tipo de errores.
Método de recopilación de datos
Para recopilar datos, puede usar herramientas como la Grabadora de pasos de problemas (PSR), el seguimiento de red y el seguimiento de NETLOGON. En esta sección se proporcionan pasos detallados para instalar y configurar una combinación de todas estas herramientas.
Siga estos pasos simultáneamente en los equipos cliente y servidor. Si la aplicación es una arquitectura de 3 niveles o n niveles, ejecute también la instalación en servidores intermedios.
Instale WireShark en todos los equipos afectados o use el comando integrado
NETSH(Windows 2008 o versiones posteriores). No es necesario reiniciar.Habilite el registro de depuración de NETLOGON en el cliente y en todos los servidores mediante la ejecución del comando siguiente:
NLTEST /DBFLAG:2080FFFFSi es posible, realice uno de los pasos siguientes:
- Reinicia el equipo cliente.
- Pida al usuario que cierre sesión e inicie sesión de nuevo.
- Cierre y vuelva a abrir la aplicación cliente.
En el equipo cliente, inicie La grabadora de pasos de problemas (psr.exe) y, a continuación, seleccione Iniciar registro.
Esta herramienta captura con precisión todas las acciones de usuario que preceden al problema y guarda los resultados en un archivo .zip.
Inicie la captura de red en todos los equipos.
Si usa NETSH, ejecute el
NETSH TRACE START CAPTURE=YES TRACEFILE=C:\TEMP%computername%.ETLcomando (use un archivo o un nombre de ruta de acceso adecuados).Vaciar la memoria caché del Sistema de nombres de dominio (DNS) en todos los equipos ejecutando el
IPCONFIG /FLUSHDNScomando .Borre la memoria caché de NETBIOS en todos los equipos mediante la ejecución del
NBTSTAT /RRcomando .Purgar vales kerberos de cliente mediante la ejecución del
KLIST purgecomando .Borre vales en cada servidor ejecutando el
KLIST -li 0x3e7 purgecomando .Nota:
Escriba el comando . No copie y pegue en la línea de comandos porque el guión podría convertirse en un guión largo (em).
KLISTdistingue mayúsculas de minúsculas.Reproduce el problema.
Detenga la grabación del psr.exe .
Detenga las capturas de red. Guarde el archivo grabado ejecutando el comando NETSH:
NETSH TRACE STOPmediante un nombre descriptivo. Por ejemplo, el nombre del archivo puede ser SQLProd01.netmon.cap.Espere a que vuelva a aparecer el símbolo del sistema y cierre la ventana. No cierre la ventana del símbolo del sistema antes de que aparezca el símbolo del sistema.
Copie el registro de NETLOGON en C:\windows\debug\netlogon.log y asigne un nombre descriptivo al archivo. Por ejemplo, SQLProd01.netlogon.log.
Para deshabilitar el registro, ejecute el
NLTEST /DBFLAG:0x0comando .
Recopilación de datos para clasificar los problemas
El siguiente conjunto de preguntas está diseñado para ayudarle a encontrar la categoría en la que cae un problema, lo que le guía hacia la dirección correcta de la solución de problemas. Seleccione cada lista desplegable para las preguntas relacionadas.
Antes de pasar a las preguntas específicas, asegúrese de que se cumplen todos los requisitos previos necesarios para las conexiones de SQL Server. Para obtener más información sobre los requisitos previos, consulte Requisitos previos recomendados y lista de comprobación para solucionar problemas de conectividad de SQL Server.
Preguntas más amplias sobre la perspectiva
- ¿El problema afecta solo a conexione de base de datos o también afecta a las conexiones de recursos compartidos de archivos y web? Muchos casos se notifican al equipo de SQL Server porque se producen en el servidor de bases de datos. Sin embargo, puede ser posible que el problema no esté relacionado con la base de datos en absoluto y podría requerir compatibilidad con Windows o Active Directory más general.
- ¿Existe una relación de confianza entre el dominio de usuario, el dominio de cliente o el dominio de servidor si son diferentes? ¿Es externo, bosque, unidireccional, bidireccional o ninguno?
- ¿Funciona correctamente la conexión si todos los recursos están en el mismo dominio?
- ¿El problema es intermitente o periódico o es coherente?
- ¿Se produce el problema solo si más de un usuario usa la aplicación? ¿Se produce con más frecuencia si más usuarios lo usan?
- ¿Se produce el problema solo en determinados momentos del día o en determinados días de la semana?
- ¿Se produce el problema solo cuando se realiza una copia de seguridad o se vuelve a indexar la base de datos?
- ¿Afecta el problema a más de un servidor?
- ¿El problema afecta solo a un nodo de un clúster de n nodos? Si es así, puede ser más eficaz considerar la posibilidad de volver a generar ese nodo determinado.
- ¿El problema afecta solo a uno o dos clientes de varios? Si es así, quizás la recompilación sería más eficaz.
- ¿El problema afecta solo a las canalizaciones con nombre y no a TCP (o viceversa)?
- ¿Se produce el problema al usar un inicio de sesión de SQL Server y TCP/IP?
- ¿Existe un caso de trabajo que se pueda comparar con el caso con errores? ¿Cómo difieren los sistemas?
Equipo cliente
Use las siguientes preguntas para recopilar datos sobre los distintos componentes del equipo cliente. Estos datos pueden resultar útiles para identificar los problemas.
¿Cuál es el nombre, la edición y la versión del sistema operativo (WinVer)?
¿Cuál es el nombre y la versión del controlador o proveedor de SQL Server?
¿Cuáles son el nombre del equipo y la dirección IP?
¿Cuál es el estado del dominio del equipo? Si está unido a un dominio, ¿cuál es el nombre de dominio?
¿Qué entorno en tiempo de ejecución de la aplicación se usa? Por ejemplo, Trabajo de Internet Information Services (IIS), Windows Forms, Web Sphere o SQL Server Integration Services (SSIS).
¿Qué idioma de aplicación se usa?
¿Cuál es el cadena de conexión usado?
¿Qué tipo de autenticación se usa para conectarse al servidor? Por ejemplo, New Technology LAN Manager (NTLM), Kerberos, SQL o Azure Active Directory (AAD).
Si la aplicación es un servidor o servicio, ¿delega las credenciales de usuario en la base de datos de back-end?
¿Se usa la delegación restringida?
¿Cuáles son la cuenta de servicio de aplicación y el dominio?
¿Qué tipo de servicio se usa? ¿Es físico, virtual o en la nube? Por ejemplo, IaaS, Aplicación web, Rol web o Power BI.
¿Qué es el controlador de cliente? ¿Es la conectividad de base de datos Java (JDBC) o se ejecuta en Linux o Mac?
Nota:
Los flujos de trabajo están actualmente más orientados a Windows.
¿Afecta el problema solo a los proveedores heredados, como
Provider=SQLOLEBDoDriver={SQL Server}, y no a SQL Native Client y controladores posteriores (o viceversa)?¿Se produce el problema en una sola aplicación o en varias aplicaciones?
¿Se produce un error en un archivo de vínculo de datos universal (UDL) cuando intenta conectarse a otros servidores basados en SQL Server o no se puede realizar solo el servidor que tiene el problema?
¿El usuario inicia sesión en el servidor basado en SQL Server e intenta conectarse mediante SQL Server Management Studio (SSMS)?
¿Se produce el problema solo cuando se usa el nombre NETBIOS del servidor y no cuando se usa el nombre de dominio completo (FQDN) (o viceversa)? ¿Funciona con la dirección IP?
¿El cliente que ejecuta Windows 10 Enterprise Edition tiene activada la característica Credential Guard? Si es así, esto puede afectar a escenarios de delegación completos.
Información de registro
Use las siguientes preguntas para recopilar datos sobre los archivos de registro:
- ¿Cuál es el mensaje de error exacto en la pila de llamadas?
- ¿Se recopiló el registro de los archivos ERRORLOG y ERRORLOG.1 de SQL Server?
- ¿Se recopilaron los registros de eventos de la aplicación del cliente y el servidor?
- ¿Se recopilaron los archivos de registro de la aplicación cliente y los archivos de configuración? Por ejemplo, web.config, rsreportserver.config, *.config o *.ini.
- ¿Hay una representación visual disponible de la red que muestra los equipos, enrutadores, etc.?
Problemas nuevos o existentes
Hace referencia a determinar si el problema es un desarrollo reciente o si se ha conservado durante un tiempo:
- ¿El problema siempre ha existido (nueva instalación) o ha funcionado correctamente la aplicación durante algún tiempo antes de que se interrumpiera recientemente?
- Si la aplicación se usa para funcionar correctamente, ¿qué cambios se realizaron en el entorno? Por ejemplo, las actualizaciones instaladas, los controladores de dominio actualizados, los cambios en la configuración del firewall, los controladores de dominio retirados o un traslado a una unidad organizativa diferente en el dominio.
Equipo servidor
Para un servidor vinculado, recopile información del servidor para el servidor de nivel medio y el servidor back-end. Para un problema de delegación de IIS a SQL, recopile información sobre el servidor web, incluida la configuración web.config y la autenticación.
- ¿Cuál es el nombre del nombre del sistema operativo, la edición y la versión (Winver)?
- ¿Cuál es el nombre y la versión de la base de datos?
- ¿Cuál es el nombre del equipo?
- ¿Cuál es la dirección IP?
- ¿Cuál es el nombre de dominio si el equipo está unido a un dominio?
- ¿Cuál es la cuenta de servicio y el dominio de SQL Server?
- ¿Cuál es el nombre de la instancia de SQL Server?
- ¿Qué protocolos están habilitados?
- ¿Cuál es el puerto en el que escucha el servidor?
- ¿Cuál es el nombre de la canalización del servidor? Puede encontrar esta información en el registro de errores.
- ¿Qué tipo de entorno se usa? ¿Es físico, virtual o en la nube? Por ejemplo, IaaS (SQL en una máquina virtual de Azure) o PaaS (Azure SQL Database, SQL Instancia administrada (MI)).
- ¿La base de datos se implementa como independiente, agrupada, reflejada o con AlwaysOn?
- ¿Cuál es el nombre del asociado de conmutación por error y la dirección IP?
- ¿Cuál es el nombre del clúster virtual o el nombre del agente de escucha y el puerto?
- ¿Cuál es la dirección IP virtual o la DIRECCIÓN IP del agente de escucha?
- ¿En qué sistema operativo está instalada la base de datos? ¿Es Windows, Linux o Mac? Esto puede afectar a la recopilación de datos.
- ¿Cuál es la ubicación de la base de datos? ¿Está en Azure?
- ¿Cuál es el estado actual del servidor en términos de la actualización acumulativa y Service Pack más reciente? No hay ningún punto en depurar un problema que ya se ha corregido.
- ¿Se ha actualizado SQL Server recientemente para admitir la seguridad de la capa de transporte (TLS) 1.2? ¿También se actualizaron los clientes? ¿Se ha desactivado TLS 1.0?
- ¿Cuál es el estado actual del servicio SQL Server? ¿Se está ejecutando?
- ¿Cuál es el estado del servicio SQL Browser? ¿Se está ejecutando?
- ¿Cuál es la especificidad del problema para una cuenta de servicio? ¿La ejecución del servidor mediante una cuenta de servicio diferente resuelve el problema?
Información del usuario
Recopile los siguientes detalles de usuario:
- ¿El usuario inicia sesión directamente en el equipo cliente o accede a él de forma remota? Por ejemplo, ¿usa el usuario un explorador?
- ¿Es el usuario un servicio, como el Agente SQL? ¿Se usa la identidad del proceso o se usa una credencial almacenada?
- ¿Cuál es el tipo de autenticación que se usa para conectarse a la aplicación cliente? ¿Es la autenticación de Windows, Forms o AAD?
- ¿El usuario se conecta al servidor mediante la seguridad integrada?
- ¿Cuáles son el nombre de usuario y el nombre de dominio?
Si el usuario es remoto a la aplicación cliente, recopile los detalles siguientes:
- ¿Cuáles son el nombre del equipo y la dirección IP?
- ¿Está unido al dominio del equipo? Si es así, ¿cuál es el nombre de dominio?
- ¿El usuario se conecta a través de una VPN o un servidor proxy? ¿Se produce el problema si alguno de los métodos está conectado directamente?
- Si el usuario se conecta a un servidor web, ¿se equilibra la carga del servidor?
- ¿Se usan sesiones permanentes o afinidad de sesión?
- ¿El usuario inicia sesión en un servidor de terminal o jump box y accede a la aplicación?
- ¿Afecta el problema solo a los usuarios en unidades organizativas (UNIDADES organizativas) concretas?
- ¿Se ha movido el usuario, el cliente o el servidor a una unidad organizativa (OU) diferente en Active Directory?
- ¿Afecta el problema solo a los usuarios no administrativos?
- ¿Afecta el problema a todos o solo algunos de los usuarios de un dominio determinado?
Consulte también
Aviso de declinación de responsabilidades sobre la información de terceros
Los productos de otros fabricantes que se mencionan en este artículo han sido creados por compañías independientes de Microsoft. Microsoft no ofrece ninguna garantía, ya sea implícita o de otro tipo, sobre la confiabilidad o el rendimiento de dichos productos.