23

Estoy intentando acceder a la instancia de SQL Server en mi VPS desde SQL Server Management Studio en mi máquina local. No está funcionando (el error que estoy recibiendo es:..No se puede conectar a la instancia de SQL Server de forma remota

Se ha producido un error relacionado con la red o instancia específica, mientras que establecer una conexión a SQL Server El servidor no se ha encontrado o no era accesible Verificar que el nombre de instancia es correcta y que SQL Server está configurado para permitir conexiones remotas.

Creo que esto se debe a que necesito para configurar el motor de base de datos para permitir conexiones remotas (corríjanme si me equivoco!). Así que encontré esta guía paso a paso para ayudarme a hacer eso: http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/ Tengo que señalar 10 en el guid ey ahora estoy atascado! No tengo instalado SQL Server Management Studio en mi VPS. De todos modos, esto me ha dejado con dos opciones:

  1. Instalar SSMS
  2. encontrar otra manera de hacer el punto 10 en adelante en la guía sin tener SSMS instalado

He intentado instalar SSMS en mis VPS con ayuda el instalador de la plataforma web pero sigue fallando. No sé por qué está fallando porque no parece dar una razón de por qué. ¿Alguien sabe cómo podría permitir conexiones remotas de una manera diferente?

La versión de SQL Server instalada en mi VPS es SQL Server 2008 R2 Express.

actualización:

he tratado de desactivar el firewall en tanto mi ordenador portátil y VPS para ver si es un problema de cortafuegos. Esto no hizo diferencia en el mensaje de error.

Otro Actualización:

Habiendo sido capaz de instalar SSMS (I instalar directamente desde el sitio web en lugar de utilizar el WPI), he podido comprobar que el servidor está configurado para permitir conexiones remotas (Fui a SSMS, me conecté a la instancia de SQL Server, hice clic derecho en la conexión, hice clic en Propiedades, fui a la pestaña Conexiones. "Permitir conexiones remotas a este servidor" ya está marcado).

SOLUCIÓN

Gracias a todos por ayudarme con esta solución! ¡Finalmente logré que funcione! Seguí el consejo de Filip De Vos y abrí los puertos en el Firewall en mi VPS y luego recibí un mensaje de error diferente. Esto me llevó a investigar más y descubrí que estaba usando las credenciales incorrectas para iniciar sesión. ¡Así que establecí una contraseña para el usuario sa y logré iniciar sesión usando eso! ¡Gracias de nuevo!

+0

posible duplicado de [No se puede conectar a SQL Server 2005] (http://stackoverflow.com/questions/873924/cant-connect-to-sql-server-2005) – ig0774

+1

Esta es más una pregunta de configuración del servidor que una de programación, es posible que tenga mejor suerte al preguntar en serverfault.com. – JYelton

+0

@JYelton Gracias - Lo intentaré también. – Leah

Respuesta

46
  • para habilitar la autenticación mixta puede cambiar la clave del Registro siguiente:

    HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\LoginMode 
    

    actualizar el valor a 2 y reinicie el servicio de SQL Server para permitir la autenticación mixta. Tenga en cuenta que es posible que MSSQL.1 deba actualizarse para reflejar el número de la instancia de SQL Server que está intentando cambiar.

  • Una razón para errores de conexión puede ser un escáner de virus instalado en el servidor que bloquea sqlserver.exe.

  • Otra razón puede ser que el servicio Explorador de SQL Server no se está ejecutando. Cuando este servicio no se está ejecutando, no puede conectarse en instancias con nombre (cuando están usando puertos dinámicos).

  • También es posible que SQL Server no está configurado para escuchar las conexiones TCP y sólo permite canalizaciones con nombre.

    1. En el menú Inicio, abra Programas> Microsoft SQL Server 2008> Herramientas de configuración> superficie de SQL Server Configuración
    2. En el Superficie utilidad de configuración del Área, haga clic en el enlace "SQL Server Gestor de configuración"
    3. Expanda "Configuración de red del servidor SQL" y seleccione Protocolos.
    4. habilitar TCP/IP. Si necesita Canalizaciones con nombre, puede habilitarlas aquí también.
  • Por último, pero no menos importante, el servidor de seguridad de Windows debe permitir conexiones a SQL Server

    1. Añadir una excepción para sqlserver.exe cuando se utiliza el sistema de "puerto dinámico".
    2. De lo contrario, puede poner excepciones para los puertos del Servidor SQL (puerto predeterminado 1433)
    3. Agregue también una excepción para el Explorador de SQL Server. (Puerto UDP 1434)

Más información:

Como última nota, SqlLocalDB tuberías sólo admite con nombre, por lo que no se puede conectar a través de la red.

+0

¿No informaría esto de un error de inicio de sesión en lugar de un error de red/conexión? – Tao

+0

Esta es una respuesta al punto nr 2 en la pregunta –

+0

@Tao Se agregaron pasos adicionales para permitir conexiones entrantes –

5
  1. Inicie SQL Server Configuration Manager en su VPS.

  2. Eche un vistazo a la configuración de red del servidor SQL. Asegúrese de que TCP/IP es habilitado.

  3. Siguiente vistazo a los servicios del servidor SQL. Asegúrese de que el navegador SQL Server se esté ejecutando.

  4. Reiniciar el servicio para la instancia de SQL Server.

+0

Gracias por su ayuda. Sin embargo, ya probé todos los pasos detallados en el enlace de mi pregunta. Llegué tan lejos y el mensaje de error sigue apareciendo. – Leah

+0

Ah, lo siento, no me di cuenta de que el enlace tenía los mismos pasos básicos. No necesita SSMS necesariamente porque es esencialmente una aplicación cliente que se conecta al servidor para permitirle ejecutar consultas y administrar tablas de bases de datos, etc. Si la instancia del servidor está configurada para no permitir la autenticación de Windows (cubierta por los pasos 10-12) necesitarás saber el sql user/pw combo para conectarte. No estoy seguro de que pueda cambiar el método de inicio de sesión sin SSMS. – JYelton

+0

Leah solo FYI SQL Server siempre permite la autenticación de Windows, pero la autenticación de usuario sql se puede habilitar/deshabilitar.(Por [¿Cómo puedo desactivar el modo de autenticación de Windows de SQL Server] (http://serverfault.com/q/141698/29508)). Buena suerte. – JYelton

0

Recientemente he actualizado desde SQL 2008 R2 para SQL 2012 y tuvo un problema similar. El problema era el cortafuegos, pero más específicamente la regla de cortafuegos para SQL SERVER. La regla personalizada se apuntó a la versión anterior de SQL Server. Pruebe esto, abra Windows Firewall> Configuración avanzada.Encuentre la regla del servidor SQL (puede tener un nombre personalizado). Haga clic con el botón derecho y vaya a las propiedades, luego a la pestaña Programas y servicios. Si se selecciona Programas: este programa, debe buscar la versión correcta de sqlserver.exe.

2
  1. Abra el Administrador de configuración de SQL Server .... 2.Compruebe tiempo lo TCP y UDP están ejecutando o no .... 3. Si no se está ejecutando, Por favor, activa ellos y también comprobar el Explorador de SQL Server se está ejecutando o no. Si no se ejecuta, enciéndalo .....

  2. A continuación, debe verificar qué puertos están usando TCP y UDP. Usted tiene que abrir los puertos de su firewall de Windows .....

5. Click here to see the steps to open a specific port in windows firewall ....

  1. Ahora SQL Server está listo para el acceso a través de LAN .......

  2. Si wan para acceder a ella de forma remota (a través de Internet), que tiene que hacer otro trabajo que es 'Port Forwarding'. Ha abierto los puertos que usa TCP y UDP en SQL Server en su enrutador. Ahora la configuración de los enrutadores es diferente. Si me da los detalles de su enrutador (es decir, el nombre de la compañía y la versión), puedo mostrarle los pasos para reenviar un puerto específico.

0

que tenían el mismo problema por el que el cortafuegos se ha configurado correctamente, TCP/IP se ha habilitado en el Administrador de configuración de SQL Server, pero todavía no podía acceder a mi base de datos SQL desde fuera del ordenador que lo alberga. Encontré que la solución era el Servidor SQL El navegador estaba deshabilitado de forma predeterminada en Servicios (y no había ninguna opción disponible para habilitarlo en el Administrador de configuración de SQL Server).

Lo habilité desde el Panel de control> Herramientas administrativas> Servicios y luego hago doble clic en el Explorador del servidor SQL. En la pestaña General, establezca el tipo de inicio en Automático usando la lista desplegable. A continuación, vuelva al Administrador de configuración de SQL Server y verifique que el Navegador de SQL Server esté habilitado. Espero que esto ayude. enter image description here

6

Además de configurar el servicio del navegador de SQL Server en Services.msc a Automático, y al iniciar el servicio, tuve que habilitar TCP/IP en: Administrador de configuración de SQL Server | Configuración de red de SQL Server | Protocolos para [INSTANCE NAME] | TCP/IP

enter image description here

Cuestiones relacionadas