Acabo de instalar SQL Server Express 2012 en mi servidor doméstico. Estoy tratando de conectarme a él desde Visual Studio 2012 desde mi PC de escritorio, y repetidamente obtengo el conocido error:
Se produjo un error relacionado con la red o específico de la instancia al establecer una conexión con SQL Server. El servidor no se encontró o no estaba accesible. Verifique que el nombre de la instancia sea correcto y que SQL Server esté configurado para permitir conexiones remotas. (proveedor: proveedor de canalizaciones con nombre, error: 40 - No se pudo abrir una conexión a SQL Server)
Lo que he hecho para intentar solucionar esto:
- Ejecute el Administrador de configuración de SQL Server en el servidor y habilite el Explorador de SQL Server
- Agregue una excepción de Firewall de Windows en el servidor para TCP, los puertos 1433 y 1434 en la subred local.
- Verifique que tengo un inicio de sesión en la instancia de SQL Server para el usuario con el que he iniciado sesión como en el escritorio.
- Verifique que estoy usando la autenticación de Windows en la instancia de SQL Server.
- Reinicie repetidamente SQL Server y todo el servidor dang.
- Saca todo mi cabello.
¿Cómo puedo obtener SQL Server 2012 Express para permitir conexiones remotas?
Respuestas:
Bueno, me alegro de haberlo preguntado . La solución que finalmente descubrí estaba aquí:
¿Cómo configuro SQL Server Express para permitir conexiones remotas tcp / ip en el puerto 1433?
Hasta ahora, todo bien y completamente esperado. Pero entonces:
(También, si usted sigue estos pasos, es que no es necesario para permitir Explorador de SQL Server, y sólo es necesario para permitir el puerto 1433, no 1434.)
Estos cinco pasos adicionales son algo que no recuerdo haber tenido que hacer en una versión anterior de SQL Server, Express o de otro tipo. Parecen haber sido necesarios porque estoy usando una instancia con nombre (myservername \ SQLEXPRESS) en el servidor en lugar de una instancia predeterminada. Mira aquí:
Configure un servidor para escuchar en un puerto TCP específico (Administrador de configuración de SQL Server)
fuente
IPAll
configuración fue el consejo de SALVADOR! El mío era como el tuyo ...: Dmyserver\sqlexpress,[portnumber]
sin los soportes. Tenga en cuenta que es,
y no:
La forma correcta de conectarse al servidor SQL remoto (sin abrir el puerto UDP 1434 y habilitar el navegador SQL Server) es usar ip y puerto en lugar de una instancia con nombre .
Usar ip y port en lugar de una instancia con nombre también es más seguro, ya que reduce el área de superficie de ataque.
Quizás 2 imágenes hablan 2000 palabras ...
Este método utiliza el puerto especificado (esto es lo que la mayoría de la gente quiere, creo).
Este método requiere abrir el puerto UDP 1434 y ejecutar el navegador SQL Server.
fuente
Una cosa más...
Kyralessa proporciona gran información, pero tengo otra cosa que agregar donde me quedé perplejo incluso después de este artículo.
En Configuración de red de SQL Server> Protocolos para servidor> TCP / IP habilitado. Haga clic derecho en TCP / IP y elija propiedades. En las Direcciones IP, debe establecer Activado en Sí para cada tipo de conexión que esté utilizando.
fuente
Puede usar esto para resolver este problema:
Vaya a INICIO> EJECUTAR y ejecute CLICONFG.EXE.
El protocolo de Canalizaciones con nombre será el primero en la lista. Desmótelo y promueva TCP / IP.
Probar la aplicación a fondo.
Espero esta ayuda
fuente
También puedes configurar
en el diálogo del protocolo y luego en la dirección IP IP1 (por ejemplo)
fuente
Este artículo me ayudó ...
Cómo habilitar conexiones remotas en SQL Server
Todo en SQL Server estaba configurado, mi problema era que el firewall estaba bloqueando el puerto 1433
fuente
Tuve este problema recientemente. Agosto de 2015
Resuelto abriendo el Administrador de configuración de SQL Server
Se puede conectar con el Administrador de SQL Server a la máquina: [hostaddress], 1433
Ejemplo:
fuente
En mi instalación de SQL Server 2012 Developer Edition, instalada con la configuración predeterminada, solo tuve que cargar el Administrador de configuración de SQL Server -> Configuración de red de SQL Server -> Protocolos para MSSQLSERVER y cambiar TCP / IP de Deshabilitado a Habilitado.
fuente
Tuve que agregar una regla de puerto de entrada del cortafuegos para abrir el puerto UDP 1434. Este es el único que escucha el explorador del servidor SQL.
fuente
Prefiero la forma de "Rosdi Kasim", ya que no requiere una configuración detallada en la IP.
Definitivamente lo olvidaré nuevamente cuando intente subir de nuevo otro servidor.
Keep It Simple Stupid (KISS) simplemente habilite el servicio Sql Server Browser, luego agregue \ SQLEXPRESS detrás de la IP cuando conecte el servidor.
El uso directo de IP sin "\ SQLEXPRESS" fue mi punto de falla ya que no usa el puerto predeterminado.
Gracias.
fuente
Tuve el mismo problema con la instancia con nombre instalada localmente de SQL Server 2014. Conectar usando el
FQDN\InstanceName
fallaría, mientras que conectando usando solo mihostname\InstanceName
trabajo. Por ejemplo: conectarse usandomycomputername\sql2014
trabajado, pero usandomycomputername.mydomain.org\sql2014
no. DNS se resolvió correctamente, TCP / IP se habilitó en el Administrador de configuración de SQL, se agregaron las reglas del Firewall de Windows (y luego se apagó el firewall para realizar pruebas para asegurarse de que no estaba bloqueando nada), pero ninguno solucionó el problema.Finalmente, tuve que iniciar el servicio " Navegador de SQL Server " en SQL Server y eso solucionó el problema de conectividad.
Nunca me había dado cuenta de que el servicio del navegador SQL Server realmente ayudaba al servidor SQL a hacer conexiones; Tenía la impresión de que simplemente ayudó a llenar los menús desplegables cuando hizo clic en "buscar más" servidores para conectarse, pero en realidad ayuda a alinear las solicitudes de los clientes con el puerto correcto para usar, si el puerto no está asignado explícitamente (similar sobre cómo los enlaces a sitios web ayudan a aliviar el mismo problema en un servidor web IIS que aloja varios sitios web).
Este elemento de conexión es lo que me dio la pista sobre el servicio del navegador SQL Server: https://connect.microsoft.com/SQLServer/feedback/details/589901/unable-to-connect-on-localhost-using-fqdn-machine- nombre
La razón del servicio "Navegador SQL Server" de TechNet (énfasis agregado por mí): https://technet.microsoft.com/en-us/library/ms181087(v=sql.120).aspx
Desde la sección "Uso del navegador SQL Server":
Y más información del mismo artículo de la sección "Cómo funciona el navegador SQL Server":
fuente
Tuve que agregar el puerto a través de Configuration Manager y agregar el número de puerto en mi conexión sql [host] \ [nombre de instancia de db], 1433
Tenga en cuenta la, (coma) entre nombre de instancia y puerto
fuente
¡Tenía un problema diferente de lo que todas las respuestas hasta ahora mencionaron!
Debería comenzar diciendo que lo tenía en Visual Studio, y no en SQL Server Express, pero la solución debería ser exactamente la misma.
Bueno, dios, en realidad es muy simple y quizás un poco tonto. Cuando intenté crear una base de datos y Visual Studio sugirió el nombre del Servidor SQL, me dio mi nombre de usuario de Windows y dado que en realidad es el nombre del servidor, lo elegí.
En realidad, en realidad era mi nombre de usuario de Windows +
\SQLEXPRESS
. Si no cambiaste ninguna configuración, probablemente esta también sea tuya. Si funciona, deja de leer; esta es mi respuesta. Si no funciona, tal vez el nombre sea diferente.Si, como yo, solo tuvo este problema en Visual Studio para verificar cuál es el suyo, siga estos pasos:
¡Este es el nombre del servidor y esto es a lo que debe intentar conectarse! ¡No es lo que sugiere Visual Studio!
fuente
¡Una cosa más para verificar es que ha escrito la instancia con nombre correctamente!
Este artículo es muy útil para solucionar problemas de conexión: Cómo solucionar problemas de conexión al motor de base de datos de SQL Server
fuente
En mi caso, la base de datos se estaba ejecutando en un puerto no estándar. Compruebe que el puerto que está conectando es el mismo que el puerto en el que se ejecuta la base de datos. Si hay más instancias de SQL Server, verifique la correcta.
fuente
Todo lo que necesita hacer es abrir el puerto correspondiente en el firewall del servidor.
fuente
¿Tiene problemas para conectarse a SQL Server?
Intenta desconectar el firewall.
Si puede conectarse con el cortafuegos desconectado, es posible que omita algunas reglas de entrada como "sql service broker", agregue estas reglas de entrada a su cortafuegos:
"CONEXIÓN DE ADMINISTRACIÓN SQL" PUERTO TCP 1434
"SQL ADMIN CONNECTION" UDP PUERTO 1434
"SERVICIO DE ANÁLISIS DE SQL" PUERTO TCP 2383
"SERVICIO DE ANÁLISIS DE EXPLORACIÓN DE SQL" PUERTO TCP 2382
PUERTO TCP "DEPURADOR SQL / RPC" 135
PUERTO TCP "SERVIDOR SQL" 1433 y otros si tiene puertos dinámicos
PUERTO TCP "SQL SERVICE BROKER" 4022
fuente