¡Urgente, urgente! ! ! ! ! ! ! ! ! Se produjo un error relacionado con la red o específico de la instancia al establecer una conexión con SQL Server
Los cuatro errores más comunes en las conexiones de SQL Server 2000:
1. "SQL Server no existe o acceso denegado"
Este es el más complicado , hay muchas razones para los errores y hay muchos aspectos que deben verificarse.
En términos generales, existen las siguientes posibilidades:
1. nombre o dirección IP incorrectos
2. La configuración de red del lado del servidor es incorrecta
3. La configuración de red del lado del cliente es incorrecta
Para resolver este problema. , generalmente debemos seguir los siguientes pasos paso a paso para descubrir la causa del error.
============== Primero, verifique la conexión física de la red= =============
Ping
Si el ping
Otra posibilidad es que el software de firewall esté instalado entre el cliente y. el servidor, como el servidor ISA. El software firewall puede bloquear las respuestas a ping, telnet, etc.
Por lo tanto, al verificar si hay problemas de conexión, primero debemos apagar temporalmente el software firewall o abrir todos los bloqueados. puertos.
Si el ping
Significa que hay un problema con la resolución del nombre. En este momento, debe hacerlo. compruebe si el servicio DNS es normal.
A veces, el cliente y el servidor no están en la misma LAN y es probable que no se puedan utilizar directamente. El nombre del servidor se utiliza para identificar el servidor. esta vez, podemos usar el archivo HOSTS para realizar la resolución de nombres.
El método específico es:
1. Utilice el Bloc de notas para abrir el archivo HOSTS (generalmente ubicado en C:\WINNT). \system32\drivers\etc).
Agregue un registro correspondiente a la dirección IP y el nombre del servidor, como por ejemplo:
172.168.10.24 myserver
2. O configúrelo en la utilidad de red cliente de SQL Server, que se explicará en detalle más adelante.
============== En segundo lugar, use el comando telnet para verificar la Estado de funcionamiento del servidor SQL Server ============
telnet
Si el comando se ejecuta correctamente, podrá ver la pantalla parpadeando El cursor sigue parpadeando en la esquina superior izquierda, lo que significa que el servidor SQL Server está funcionando normalmente y está escuchando la conexión TCP/IP en el puerto 1433
Si el comando devuelve un mensaje de error de "No se puede para abrir la conexión", significa que el servicio SQL Server del lado del servidor no está iniciado.
También es posible que el protocolo TCP/IP no esté habilitado en el servidor, o que el servidor no esté escuchando el puerto predeterminado 1433 de SQL Server.
===== ========A continuación, debemos verificar la configuración de red del lado del servidor en el servidor, verificar si las canalizaciones con nombre están habilitadas , si el protocolo TCP/IP está habilitado, etc.==============
Puede utilizar la herramienta de red del servidor que viene con SQL Server para comprobarlo. p>
Haga clic en: Programa - Microsoft SQL Server - Herramienta de red del servidor
Después de abrir la herramienta, puede ver qué protocolos están habilitados en el servidor en "General".
En términos generales, habilitamos canalizaciones con nombre y protocolos TCP/IP.
Haga clic en el protocolo TCP/IP, seleccione "Propiedades", podemos verificar el servidor SQK.
Configuración del puerto predeterminado del servicio
En términos generales, usamos el puerto predeterminado 1433 de SQL Server. Si se selecciona "Ocultar servidor", significa que el cliente no puede ver este servidor al enumerarlo. tiene un efecto protector, pero no afecta la conexión.
============== A continuación, debemos ir al cliente para verificar la configuración de red del cliente === ===== =====
También podemos usar la herramienta de red del cliente que viene con SQL Server para verificar.
La diferencia es que esta vez ejecutamos esto en el cliente.
Haga clic en: Programa--Microsoft SQL Server--Herramienta de uso de red del cliente
Después de abrir la herramienta, en el elemento "General", puede ver que el el cliente está habilitado Qué protocolos.
En términos generales, también necesitamos habilitar canalizaciones con nombre y protocolos TCP/IP.
Haga clic en el protocolo TCP/IP y seleccione "Propiedades" para verificar la configuración del puerto de conexión predeterminada del cliente, el puerto debe ser coherente con el servidor.
Haga clic en la pestaña "Alias" para configurar un alias para el servidor. El alias del servidor es el nombre utilizado para conectarse.
El servidor en el parámetro de conexión es el nombre real del servidor y los dos pueden ser iguales o diferentes. La configuración del alias es similar a usar el archivo HOSTS.
A través de las inspecciones anteriores. , básicamente puedes descartar el error A.
--------------------------------- --------- -------------------------------------
2. "No se puede conectar al servidor, el usuario xxx no pudo iniciar sesión".
El motivo de este error es que SQL Server utiliza el método de autenticación "solo Windows".
Por lo tanto, el usuario no puede iniciar sesión con una cuenta de SQL Server (como sa) para conectarse. La solución es la siguiente:
1. Utilice Enterprise Manager en el lado del servidor y seleccione "Usar Windows". Autenticación" para conectarse a SQL Server
Pasos de operación:
En Enterprise Manager
: haga clic con el botón derecho en la instancia de su servidor (la que tiene el icono verde)
--Editar propiedades de registro de SQL Server
--Seleccione "Usar autenticación de Windows"
--Seleccione "Usar autenticación de SQL Server"
--Ingrese el nombre de inicio de sesión: sa, contraseña Ingrese la contraseña de sa
--Aceptar
2. Configure para permitir el inicio de sesión con identidad de SQL Server
Pasos de la operación. :
En Enterprise Manager Medium
--Expanda "Grupo de SQL Server", haga clic derecho en el nombre del servidor SQL Server
--Seleccione "Propiedades" "
--Seleccione la pestaña "Seguridad"
--En "Autenticación", seleccione "SQL Server y Windows".
--Aceptar y reiniciar el servicio SQL Server.
En la solución anterior, si el uso de "Usar autenticación de Windows" para conectarse a SQL Server falla en el paso 1,
Entonces resuelva este problema modificando el registro:
1. Haga clic en "Inicio" - "Ejecutar", ingrese regedit y presione Entrar para ingresar al Editor del Registro.
2. Expanda las entradas del registro en secuencia y busque el siguiente registro. claves:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]
3. Busque el nombre "LoginMode" en el lado derecho de la pantalla, haga doble clic para editar el doble. -valor de byte
4. Cambie el valor original de 1 a 2 y haga clic en "Aceptar"
5.
6. Reinicie el servicio SQL Server.
En este punto, el usuario puede usar sa con éxito para crear un nuevo registro de SQL Server en Enterprise Manager,
pero aún no puede. utilice el modo de autenticación de identidad de Windows para conectarse a SQL Server.
Esto se debe a que hay dos cuentas de inicio de sesión predeterminadas en SQL Server:
BUILTIN\Administrators
< nombre de la máquina >\Administrator fue eliminado.
Para restaurar estas dos cuentas, puede utilizar los siguientes métodos:
1. Abra Enterprise Manager, expanda el grupo de servidores y luego expanda. el servidor
2. Expanda "Seguridad", haga clic derecho en "Iniciar sesión" y luego haga clic en "Nuevo inicio de sesión"
3. En el cuadro "Nombre", ingrese BUILTIN\Administrators.
4. En la pestaña "Funciones del servidor", seleccione "Administradores del sistema".
5. Haga clic en "Aceptar" para salir.
6. para agregar
Instrucciones:
Las siguientes claves de registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode
El valor determina qué modo de autenticación adoptará SQL Server.
1 Indica el uso del modo "Autenticación de Windows"
2. (Autenticación de Windows y Autenticación de SQL Server).
---------------------------------- -------- ----------------------------------
3 Solicitar tiempo de espera de conexión
Si encuentra el tercer error, en términos generales, significa que el cliente ha encontrado el servidor y puede conectarse
Es solo porque el tiempo de conexión es. mayor que el tiempo permitido, lo que genera un error.
Esta situación generalmente ocurre cuando el usuario ejecuta Enterprise Manager en Internet para registrar otro servidor que también está en Internet,
y es lento Al conectarse, puede ocurrir el error de tiempo de espera anterior. En algunos casos, debido a problemas de red en la LAN, estos errores también pueden ocurrir.
Para resolver dichos errores, puede modificar el. configuración de tiempo de espera de conexión del cliente
De forma predeterminada, la configuración de tiempo de espera para registrar otro SQL Server a través de Enterprise Manager es de 4 segundos,
y el Analizador de consultas es de 15 segundos (es por eso que en Enterprise Manager). La razón por la cual es más probable que ocurran errores).
Los pasos específicos son:
Configuración en Enterprise Manager:
1. En Enterprise Manager, seleccione ". Herramientas" en el menú y luego seleccione "Opciones"
2. En la ventana emergente "Propiedades de SQL Server Enterprise Manager", haga clic en la pestaña "Avanzado"
3. Ingrese un número relativamente grande en el cuadro a la derecha de "Tiempo de espera de inicio de sesión (segundos)" en "Configuración de conexión", como 20.
Configuración en Query Analyzer:
Herramientas- -Opciones--Conexión--Establecer el tiempo de espera de inicio de sesión en un número mayor
--------------------- -------- ------------------------------------------ -------- -
4. La mayoría de las máquinas necesitan usar Tcp/ip para tener éxito. Una vez descubrí que usar Named Pipes puede tener éxito.
Esto se debe a que en los sistemas operativos posteriores a WINDOWS 2000, MS configuró TCP/IP para resolver el problema de seguridad de SQL SERVER.
Es el protocolo de conexión predeterminado de SQLSERVER. Puede ver el orden de TCP/IP y NAME PIPE
en CLIENT NETWORK UTILITY.
También puedes:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74, 00 ,63,00,70,00,00,00,00,00
Ver el protocolo predeterminado.
2. ¿Cómo cambiar Named Pipes y Tcp/ip en el programa y cómo escribir la declaración SQL?
Puedes modificar la ubicación del registro mencionada anteriormente:
Lado del CLIENTE:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00
SERVIDOR:
[HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00