Red de conocimiento informático - Conocimiento informático - Cómo solucionar problemas de conexión en SQL Server 2000

Cómo solucionar problemas de conexión en SQL Server 2000

Solución de problemas de conexión

La mayoría de los problemas de conexión que puede notar en SQL Server 2000 son causados ​​por problemas con TCP/IP o la autenticación de Windows, o ambos. Todos causados ​​por la misma enfermedad.

Importante: antes de comenzar a solucionar problemas de conexión con SQL Server 2000, verifique que el servicio MSSQLServer esté iniciado en la computadora que ejecuta SQL Server.

1. Verificar la configuración de DNS

El proceso de resolución de nombres en el Sistema de nombres de dominio (DNS) se utiliza para resolver la dirección IP del nombre de la instancia de SQL Server. Si el proceso de resolución de nombres no funciona correctamente, no se puede obtener la instancia de SQL Server y es posible que reciba uno o más de los siguientes mensajes de error:

SQL Server no existe o acceso denegado

Error general de red

No se puede generar el contexto SSPI

Para verificar que el proceso de resolución de nombres esté resolviendo el servidor correcto, puede hacer ping al servidor utilizando el nombre del servidor y la IP del servidor. DIRECCIÓN. Para hacer esto, siga estos pasos:

Haga clic en Inicio y luego haga clic en Ejecutar.

En el cuadro de diálogo Ejecutar, escriba cmd en el cuadro Abrir y luego haga clic en Aceptar.

En el símbolo del sistema, ejecute el siguiente comando:

ping

Registre la dirección IP devuelta.

En el símbolo del sistema, ejecute el siguiente comando (la dirección IP aquí es la dirección IP que registró en el paso 3):

ping –a

Verifique que el comando resuelva el nombre del servidor correcto. Si cualquiera de los dos comandos especificados no tiene éxito, se agota el tiempo de espera o no devuelve el valor correcto, entonces la búsqueda de DNS no funciona correctamente o hay otros problemas de red o de enrutamiento que causan el problema. Para ver la configuración DNS actual, ejecute el siguiente comando en el símbolo del sistema: ipconfig /all

Para obtener información adicional sobre el comando ipconfig, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

223413 Opciones para Ipconfig.exe en Windows 2000

Para resolver este problema, puede configurar el servidor en el archivo %systemroot%\system32\drivers\etc\hosts en la computadora cliente. Añade una entrada. Para solucionar este problema, también puede utilizar la biblioteca de red Named Pipes para conectarse al servidor.

2. Verifique los protocolos y alias habilitados

Si la configuración de alias en la computadora cliente es incorrecta, puede causar problemas de conexión. Puede ver los alias utilizando una utilidad de red cliente. Para hacer esto, siga estos pasos:

Inicie la utilidad de red del cliente. Si las herramientas de cliente de SQL Server están instaladas en la computadora que ejecuta la aplicación cliente, siga estos pasos para iniciar la utilidad de red del cliente: Si las herramientas de cliente de SQL Server no están instaladas en la computadora cliente, siga estos pasos para iniciar la red del cliente Utilidad:

Haga clic en Inicio y luego en Ejecutar.

En el cuadro de diálogo Ejecutar, escriba cliconfg en el cuadro Abrir y luego haga clic en Aceptar.

Haga clic en Inicio y luego seleccione Programas.

Señale Microsoft SQL Server y luego haga clic en Utilidades de red del cliente.

En la ventana Utilidades de red del cliente de SQL Server, haga clic en la pestaña General y luego habilite todos los protocolos que desee utilizar.

Nota: Debe habilitar al menos el protocolo TCP/IP y el protocolo Named Pipes.

Haga clic en la pestaña Alias ​​y verifique el alias configurado para la instancia de SQL Server.

Verifique las propiedades del alias para confirmar que el nombre del servidor o la dirección IP y el protocolo están configurados correctamente.

Puedes crear un nuevo alias para probar el rendimiento de la conexión utilizando un nombre de servidor, dirección IP u otro protocolo.

Nota: En versiones anteriores del Componente de acceso a datos de Microsoft (MDAC), la interfaz de usuario de la utilidad de red del cliente era diferente. Por lo tanto, si no ve las opciones enumeradas en este artículo, instale una nueva versión de MDAC en la computadora que ejecuta la aplicación cliente.

3. Verifique que la instancia de SQL Server esté escuchando correctamente

Para verificar que la instancia de SQL Server esté escuchando correctamente en Named Pipes, TCP/IP o esté utilizando otros protocolos. , abra el archivo de registro de errores de SQL Server actual. El archivo de registro de errores de SQL Server puede incluir entradas similares a las siguientes: 2003-11-06 09:49:36.17 servidor Servidor SQL escuchando en TCP, memoria compartida, canalizaciones con nombre.2003-11-06 09:49:36.17 servidor servidor SQL escuchando en TCP, memoria compartida, canalizaciones con nombre en 192.168.1.5:1433, 127.0.0.1:1433.

Puede verificar que la instancia de SQL Server esté escuchando en la dirección IP y el puerto correctos analizando las entradas en el archivo de registro de errores de SQL Server. De forma predeterminada, una instancia predeterminada de SQL Server escucha en el puerto 1433. También puede utilizar la Utilidad de red del servidor para verificar la configuración del protocolo de SQL Server y cambiar las propiedades en SQL Server, incluidos los protocolos que se pueden conectar a SQL Server y los puertos que se pueden usar. Para obtener más información sobre el uso de las utilidades de red del servidor, consulte el tema "Utilidades de red de SQL Server" en el libro de referencia en línea de SQL Server.

En ocasiones, es posible que SQL Server 2000 no se enlace al puerto 1433 ni a ningún otro puerto especificado. Este problema puede ocurrir si otra aplicación está utilizando el puerto o si está intentando conectarse utilizando una dirección IP incorrecta. Por lo tanto, es posible que la conexión TCP/IP a SQL Server no se realice correctamente y recibirá el siguiente mensaje de error en el registro de errores de SQL Server:

2001-11-14 15:49:14.12 Información de SuperSocket del servidor: Error de enlace en el puerto TCP 1433.

Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

307197 PRB: puerto TCP\IP correcto Utilizado por otra aplicación

Si no puede conectarse a la instancia de SQL Server a través de una conexión TCP/IP, intente utilizar el protocolo Named Pipes o el protocolo *Shared Memory. Ejecute el siguiente comando en el símbolo del sistema para obtener información sobre los puertos en uso: NETSTAT -an

También puede usar la utilidad de línea de comandos Portqry para obtener más información sobre los puertos en uso.

Nota: Para instancias con nombre de SQL Server, SQL Server determina dinámicamente el puerto y escucha en el puerto determinado. Por lo tanto, cuando inicia una instancia con nombre de SQL Server, SQL Server intentará escuchar en el puerto que se utilizó anteriormente. Si SQL Server no puede vincularse al puerto, la instancia nombrada puede vincularse dinámicamente a otro puerto.

En este caso, asegúrese de que la aplicación cliente también esté configurada para determinar dinámicamente el puerto. Alternativamente, puede especificar un puerto estático para que la instancia nombrada se vincule y escuche a través de la utilidad de red del cliente.

4. Resolver problemas de MDAC

Los problemas de MDAC también pueden causar problemas de conexión. Por ejemplo, la instalación de un software podría sobrescribir algunos archivos MDAC o cambiar los permisos necesarios para acceder a los archivos MDAC. Puede ejecutar MDAC Component Checker para verificar la instalación de MDAC en su computadora.

Nota: Si se está conectando a una instancia con nombre de SQL Server, verifique que la computadora esté ejecutando MDAC 2.6 o posterior. Las versiones anteriores de MDAC no reconocían instancias con nombre de SQL Server. Por lo tanto, es posible que no sea posible conectarse a la instancia nombrada.

5. Resolver problemas de firewall

Si existe un firewall entre la computadora cliente y la computadora que ejecuta SQL Server, confirme que los puertos necesarios para la comunicación a través del firewall estén abiertos.

Si está utilizando el protocolo TCP/IP para conectarse a la instancia de SQL Server, verifique que puede usar el programa Telnet para conectarse al puerto en el que SQL Server está escuchando. Para utilizar el programa Telnet, ejecute el siguiente comando en el símbolo del sistema: Telnet

Si el programa Telnet no funciona correctamente y recibe un mensaje de error, resuelva el error e intente conectar nuevamente.

Nota: El puerto 1434 del Protocolo de datagramas de usuario (UDP) puede estar bloqueado en su firewall debido a un problema causado por el virus Slammer.

6. Resuelva problemas de autenticación y seguridad

Debido a un error de autenticación, es posible que no pueda conectarse a SQL Server. Si la autenticación falla, puede recibir uno de los siguientes mensajes de error:

Error de inicio de sesión para el usuario ''

Error de inicio de sesión para el usuario 'NTAUTHORITY\ANONYMOUS LOGON'

Error de inicio de sesión para el usuario 'nulo'

Si recibe un mensaje de error debido a un error de autenticación y el mensaje de error no menciona un inicio de sesión explícito en SQL Server, utilice la autenticación de Windows. Resuelva el problema. Debido a problemas de autenticación de Windows, es posible que reciba el siguiente mensaje de error:

No se puede generar el contexto SSPI

Los siguientes problemas pueden causar problemas de autenticación y seguridad:

Hay Es un problema con la autenticación NTLM o la autenticación Kerberos.

No se pudo contactar con el controlador de dominio debido a un problema de conectividad.

Existe un problema con la relación de confianza entre dominios.

Consulta el registro de eventos de tu ordenador para obtener más información sobre las posibles causas. Para resolver problemas de conexión con la autenticación de Windows, puede utilizar la autenticación de SQL Server para conectarse a una instancia de SQL Server.

Para obtener información adicional sobre cómo diagnosticar y resolver los errores "No se puede generar el contexto SSPI", haga clic en el número de artículo siguiente para ver el artículo correspondiente en Microsoft Knowledge Base:

811889 Cómo solucionar el problema "No se puede generar el contexto SSPI" Mensaje de error

Si la conexión no se realiza correctamente al utilizar la autenticación de SQL Server, recibirá el siguiente mensaje de error:

Error de inicio de sesión para el usuario ''. No asociado con un conexión confiable

Para resolver este problema, siga los pasos a continuación.

Importante Esta sección (o método o tarea) contiene pasos sobre cómo modificar el registro. Sin embargo, pueden ocurrir problemas graves si el registro se modifica incorrectamente. Por lo tanto, asegúrese de seguir estrictamente los pasos a continuación. Para mayor protección, haga una copia de seguridad del registro antes de modificarlo. Esto le permite restaurar el registro si ocurre un problema. Para obtener más información sobre cómo realizar una copia de seguridad y restaurar el registro, haga clic en el número de artículo siguiente para ver el artículo correspondiente en Microsoft Knowledge Base:

322756 Cómo realizar una copia de seguridad y restaurar el registro en Windows

Confirme que la instancia de SQL Server esté configurada para utilizar la autenticación de Windows y la autenticación de SQL Server. Para hacer esto, verifique que existan las siguientes claves de registro en la computadora que ejecuta SQL Server. Para la instancia predeterminada de SQL Server:

HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\LoginMode

Para la instancia con nombre de SQL Server:

HKEY_LOCAL_MACHINE\Software \ Microsoft\Microsoft SQL Server\\MSSQLServer\LoginMode

Confirme que se ha establecido el valor de la siguiente clave de registro:

Tipo de autenticación

Valor

Solo autenticación de Windows 1

Modo mixto (Autenticación de SQL Server y Autenticación de Windows) 2

Nota: Si ha realizado algún cambio en el registro Los cambios deben cerrarse y reiniciarse para que la instancia de SQL Server entre en vigor.

Intente conectarse a la instancia de SQL Server utilizando una cuenta de Windows diferente o un inicio de sesión de SQL Server. Esto puede ayudar a determinar si un problema con una cuenta de inicio de sesión en particular está causando el error de conexión. Por ejemplo, es posible que se haya cambiado la contraseña de su cuenta de inicio de sesión.

Intente conectarse a la instancia de SQL Server utilizando un protocolo diferente. Por ejemplo, una conexión que utiliza el protocolo TCP/IP para la autenticación de Windows puede fallar, pero una conexión que utiliza el protocolo Named Pipes para la autenticación de Windows puede tener éxito.

Si está utilizando un certificado, es posible que reciba un mensaje de error de seguridad de Secure Sockets Layer (SSL) cuando intente conectarse a una instancia de SQL Server.

Para obtener información adicional, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:

316898 Cómo habilitar el cifrado SSL para SQL Server 2000 con Microsoft Management Console

322144 Solución: SECDoClientHandShake no puede conectarse a SQL Server

7. Resuelva el problema de presión en el socket TCP/IP

Cuando se utiliza el controlador ODBC de SQL Server, el proveedor Microsoft OLE DB para SQL Server cuando administra el proveedor. o System.Data.SqlClient, puede utilizar la interfaz de programación de aplicaciones (API) adecuada para deshabilitar la agrupación de conexiones. Cuando la agrupación de conexiones está deshabilitada y las aplicaciones abren y cierran conexiones con frecuencia, puede aumentar la tensión en la biblioteca de red base de SQL Server. A veces, los servidores web y los controladores JDBC también intentan conectarse a instancias de SQL Server. Por lo tanto, la mayor demanda de conexiones de SQL Server puede exceder las capacidades de procesamiento de SQL Server. Esto puede ejercer presión sobre el socket TCP/IP y es posible que reciba el siguiente mensaje de error en el archivo de registro de errores de SQL Server:

2003-08-07 20:46:21.11 Error del servidor: 17832, gravedad :20, Estado:6

2003-08-07 20:46:21.11 Conexión del servidor abierta pero paquetes de inicio de sesión no válidos enviados. Conexión cerrada.

Nota: si es Al ejecutar SQL Server 2000 SP3 o SQL Server 2000 SP3a, no notará la presión sobre los sockets TCP/IP debido al límite agregado en la cantidad de paquetes de inicio de sesión. El error 17832 ocurre al conectarse a una instancia de SQL Server utilizando un controlador de terceros. Para resolver este problema, póngase en contacto con el proveedor externo y obtenga un controlador que haya sido probado y que funcione con SQL Server 2000 SP3 y SQL Server 2000 SP3a.

8. Compruebe si la instancia de SQL Server se inicia en modo de usuario único

Si la instancia de SQL Server a la que intenta conectarse se inicia en modo de usuario único, solo uno Se puede establecer una conexión con SQL Server. Si la computadora que ejecuta el software se conecta automáticamente a SQL Server, el software puede usar fácilmente una conexión única. Por ejemplo, el siguiente software puede conectarse automáticamente a una instancia de SQL Server:

Agente SQL Server

Software de respaldo de terceros

Software de monitoreo de terceros

Software antivirus de terceros

Microsoft Internet Information Services (IIS)

SQL Server Enterprise Manager

Una aplicación cliente que intenta conectarse a una instancia de SQL Server El programa recibió el siguiente mensaje de error:

SQL Server no existe o acceso denegado

Este error generalmente ocurre en instalaciones de clústeres de SQL cuando el proceso de instalación inicia el servidor SQL. Instancia de servidor en modo de usuario único y durante la instalación del service pack. La aplicación especificada se conecta automáticamente a la instancia de SQL Server utilizando la única conexión disponible, lo que provoca que la instalación falle.

Para determinar si la instancia de SQL Server se ha iniciado en modo de usuario único, consulte el archivo de registro de errores de SQL Server para encontrar una entrada similar a la siguiente:

2003-07-31 11 :26:43.79 Advertencia de spid3 *******************

2003-07-31 11:26:43.80 spid3 SQL Server se inició en modo de usuario único Actualizaciones permitidas para los catálogos del sistema.

9. Verifique la conexión de canalización con nombre a SQL Server

Si no puede utilizar canalizaciones con nombre para conectarse a la instancia de SQL Server, confirme que SQL. La instancia del servidor está configurada para aceptar una conexión de canalización con nombre.