none
Como pruebo la coneccion del cliente de sql server ? RRS feed

  • Pregunta

  • Buenas, disculpen estoy configurando mi servidor sql express 2005, para permitir conexiones remotas, ya lo tengo habilitado para conexiones TCP-IP y canalizaciones con nobre en un puerto específico, pero no entiendo la configuracion en los equipos cliente; es necesario que tengan instalado el SQL Native Client ? y como puedo hacer la comprovación de que se conecta al server usando sqlcmd por tcp/ip?, si yo tecleo desde una consola: sqlcmd -S tcp:ServerAlfonso,2255 , me manda mensage que el comando no se reconoce como interno o externo en mi consola. también pruebo con "sqlcmd -S ServerAlfonso\SQLEXPRESS" pero recivo lo mismo.

    Entonces desde q directorio puedo testear la conexion estando en una maquina cliente?

    Agredesco de antemano


    La programacion en Microsoft cada ves se torna inalcanzable

    domingo, 27 de julio de 2014 3:18

Respuestas

  • No, con los errores que te están saliendo, significa que no se consigue conectar con el servidor. Has probado los puertos 1691 (el predeterminado para tu primer comando), 2255 y 2055. Y en todos ellos te contesta que no consigue la conexión. Eso significa que tu instancia no está escuchando en ninguno de esos puertos.

    Puedes buscar el puerto con el SQL Server Configuration Manager. Si pone que es cero, significa que se asigna dinámicamente. En ese caso, tienes que habilitar el servicio SQL Browser (que por defecto está parado) para que les indique a los clientes el puerto correcto. Después de iniciar el servicio Browser, prueba de nuevo sqlcmd -S ALEX-PC\SQLEXPRESS. Debería funcionar al menos la conexión, aunque luego te dé un error de login si no reconoce al usuario del PC cliente.

    martes, 29 de julio de 2014 6:30

Todas las respuestas

  • Si no te reconoce el "sqlcmd" (con independencia de los parámetros que le añadas) en el equipo cliente, significa que te falta instalar el SQL Native Client. Utiliza el disco de SQL Server, y rueda el "Setup" en el puesto cliente. Cuando te pregunte la lista de los componentes que hay que instalar, limpia todos los checkboxes y deja únicamente marcado el de herramientas cliente.

    Después de instalar el cliente, comprueba la conexión al servidor siguiendo estos pasos:

    - ping ServerAlfonso

    Esto debe como mínimo resolver el nombre "ServerAlfonso"; si no lo resuelve, entonces tienes un problema con la infraestructura de red, que debes resolver antes de pasar a probar la conexión a SQL Server (a no ser que quieras conectar por dirección IP en lugar de por nombre).

    - sqlcmd -S ServerAlfonso

    Esto debe conseguir enlazar con el servidor, aunque te conteste que el acceso está denegado por no reconocerse tus credenciales. Llegados a este punto, sabrás que el cliente se conecta con el servidor, con independencia de que después tengas que configurar las credenciales y permisos adecuados.

    NOTA: Si quieres probar la conexión al servidor sin tener instalado el cliente de SQL, puedes usar

    telnet ServerAlfonso 1433

    (pon el puerto que hayas configurado si es distinto del 1433). Si se consigue establecer la conexión (aunque quede la pantalla en negro y no puedas teclear nada útil), significa que el servidor está escuchando en el puerto correspndiente. Nota: En los Windows modernos el Telnet no viene instalado por defecto; si lo quires usar, tienes que ir al panel de control o al server manager y decirle que lo instale.

    • Propuesto como respuesta Uriel Almendra lunes, 28 de julio de 2014 15:00
    domingo, 27 de julio de 2014 7:13
  • Si no te reconoce el "sqlcmd" (con independencia de los parámetros que le añadas) en el equipo cliente, significa que te falta instalar el SQL Native Client. Utiliza el disco de SQL Server, y rueda el "Setup" en el puesto cliente. Cuando te pregunte la lista de los componentes que hay que instalar, limpia todos los checkboxes y deja únicamente marcado el de herramientas cliente.

    Después de instalar el cliente, comprueba la conexión al servidor siguiendo estos pasos:

    - ping ServerAlfonso

    Esto debe como mínimo resolver el nombre "ServerAlfonso"; si no lo resuelve, entonces tienes un problema con la infraestructura de red, que debes resolver antes de pasar a probar la conexión a SQL Server (a no ser que quieras conectar por dirección IP en lugar de por nombre).

    - sqlcmd -S ServerAlfonso

    Esto debe conseguir enlazar con el servidor, aunque te conteste que el acceso está denegado por no reconocerse tus credenciales. Llegados a este punto, sabrás que el cliente se conecta con el servidor, con independencia de que después tengas que configurar las credenciales y permisos adecuados.

    NOTA: Si quieres probar la conexión al servidor sin tener instalado el cliente de SQL, puedes usar

    telnet ServerAlfonso 1433

    (pon el puerto que hayas configurado si es distinto del 1433). Si se consigue establecer la conexión (aunque quede la pantalla en negro y no puedas teclear nada útil), significa que el servidor está escuchando en el puerto correspndiente. Nota: En los Windows modernos el Telnet no viene instalado por defecto; si lo quires usar, tienes que ir al panel de control o al server manager y decirle que lo instale.

    Cierto sr. Alberto, pero olvidé mencionar que ya tenía instalado el SQL Native Client(en mi pc cliente). No se si tenga que ver q ServerAlfonso está en Windows 7 y mi pc cliente tiene Windows XP, pero mi red está funcionando, accedo a recursos compartidos de una hacia otra y recibo ping de ambos lados.

    Mi duda es después de instalar el componente cliente, tengo que abrir una aplicaión de sql o desde la simple consola de windows?.



    La programacion en Microsoft cada ves se torna inalcanzable

    lunes, 28 de julio de 2014 2:42
  • No, no tiene nada que ver que el servidor esté en Windows 7 y el cliente en XP. Se deberían entender entre sí sin ningún problema.

    Si están instaladas las herramientas cliente de SQL Server, entonces debería bastar con un simple command prompt. Durante la instalación del cliente, automáticamente se añade en el PATH el directorio de los binarios de SQL Server, por lo que basta con teclear "sqlcmd" en la ventana de comandos para que el sistema encuentre dicho ejecutable.

    lunes, 28 de julio de 2014 6:11
  • No, no tiene nada que ver que el servidor esté en Windows 7 y el cliente en XP. Se deberían entender entre sí sin ningún problema.

    Si están instaladas las herramientas cliente de SQL Server, entonces debería bastar con un simple command prompt. Durante la instalación del cliente, automáticamente se añade en el PATH el directorio de los binarios de SQL Server, por lo que basta con teclear "sqlcmd" en la ventana de comandos para que el sistema encuentre dicho ejecutable.

    ok, muchas gracias, no tenía correctamente instalados los componentes cliente, pero ya por ultimo si me puede orientar cuando realizo la petición a server desde consola recivo esto:
    C:\Users\Cliente>sqlcmd -S ALEX-PC\SQLEXPRESS
    HResultado 0xFFFFFFFF, nivel 16, estado 1
    Interfaces de red SQL: Error al buscar el servidor/instancia especificado [xFFFF
    FFFF].
    C:\Users\Cliente>sqlcmd -S tcp:ALEX-PC,2255
    HResultado 0x274C, nivel 16, estado 1
    Proveedor de TCP: Se produjo un error durante el intento de conexión ya que la p
    arte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se p
    rodujo un error en la conexión establecida ya que el host conectado no ha podido
     responder.
    C:\Users\Cliente>sqlcmd -S tcp:ALEX-PC,2055
    HResultado 0x274C, nivel 16, estado 1
    Proveedor de TCP: Se produjo un error durante el intento de conexión ya que la p
    arte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se p
    rodujo un error en la conexión establecida ya que el host conectado no ha podido
     responder.

    significa que debo asignar otros permisos? pero ya realiza conexion al servidor?

    La programacion en Microsoft cada ves se torna inalcanzable

    martes, 29 de julio de 2014 1:39
  • No, con los errores que te están saliendo, significa que no se consigue conectar con el servidor. Has probado los puertos 1691 (el predeterminado para tu primer comando), 2255 y 2055. Y en todos ellos te contesta que no consigue la conexión. Eso significa que tu instancia no está escuchando en ninguno de esos puertos.

    Puedes buscar el puerto con el SQL Server Configuration Manager. Si pone que es cero, significa que se asigna dinámicamente. En ese caso, tienes que habilitar el servicio SQL Browser (que por defecto está parado) para que les indique a los clientes el puerto correcto. Después de iniciar el servicio Browser, prueba de nuevo sqlcmd -S ALEX-PC\SQLEXPRESS. Debería funcionar al menos la conexión, aunque luego te dé un error de login si no reconoce al usuario del PC cliente.

    martes, 29 de julio de 2014 6:30
  • Me ha servido mucho, ya tambíen rectifique los puertos de red de sql server, los de sql native client y pero no consigo conectarme, no creo que deba configurar el Native client del pc cliente verdad? creo que la una lógica q pudiera explicar en mi caso es que la maquina tenga problemas de red, pues probé esto en una virtual q aparentemente si enlaza con los demas recursos de red y realiza el ping correctamente.En fin ya prové con otra maquina y ya reciví otra respuesta.

    mensage 18456, nivel 14, Servidor Solco-pc\SQLEXPRESS,error línea 1 login failed

    Gracias por su aporte


    La programacion en Microsoft cada ves se torna inalcanzable


    miércoles, 30 de julio de 2014 21:19