REVISIÓN: Mensaje de Error cuando se conecta a una instancia con nombre de SQL Server en un equipo cliente que ejecuta Windows Vista o Windows Server 2008: "No se encontró el servidor SQL que especificó" o "Error Buscar servidor/instancia especificado"


Importante: este artículo contiene información que muestra cómo reducir la configuración de seguridad o desactivar las características de seguridad en un equipo. Puede realizar estos cambios para solucionar un problema específico. Antes de realizar estos cambios, le recomendamos que evalúe los riesgos asociados con la implementación de esta solución en su entorno concreto. Si decide implementar esta solución, tome las medidas adicionales oportunas para ayudar a proteger el equipo.

Síntomas


Considere el siguiente escenario. En un equipo cliente que ejecuta Windows Vista o Windows Server 2008, se conecta a una instancia con nombre de Microsoft SQL Server. La instancia con nombre se encuentra en un servidor remoto. En este escenario, la conexión puede fallar.

Nota: Este problema se produce cuando se conecta a una de las siguientes versiones de SQL Server:
  • Microsoft SQL Server 2000
  • Microsoft SQL Server 2005
  • Microsoft SQL Server 2008
Si utilizas Windows Data Access Components (Windows DAC) en 6.0 para conectarse a la instancia con nombre, recibirá el siguiente mensaje de error:
[DBNETLIB] No se encontró el servidor SQL especificado.
[DBNETLIB] ConnectionOpen (Connect()).
Si utiliza a SQL Native Client para conectarse a la instancia con nombre, recibirá el siguiente mensaje de error:
[SQL Native Client] Interfaces de red SQL: Error Buscar servidor/instancia especificado [xFFFFFFFF].
[SQL Native Client] Tiempo de espera de inicio de sesión caducado.
Este problema se produce cuando la instancia con nombre es una instancia de clúster de conmutación por error. Además, este problema puede producirse si el servidor remoto tiene varias direcciones IP.

Causa


Cuando se conecta a la instancia con nombre, la biblioteca de red de cliente envía un paquete de solicitud de protocolo de datagramas de usuario (UDP) a la dirección IP de la instancia con nombre. A continuación, el Explorador de SQL Server devuelve un paquete de respuesta UDP que contiene la información sobre los extremos de la conexión.

Sin embargo, en el paquete de respuesta UDP, dirección IP de origen no puede ser la dirección IP a la que se envió el paquete de solicitud UDP. Si la instancia con nombre es una instancia de clúster de conmutación por error, la dirección IP de origen es la dirección IP del equipo físico en lugar de la dirección IP virtual del servidor remoto. Si el servidor remoto tiene varias direcciones IP, la dirección IP de origen puede ser cualquiera de las direcciones IP que se asignan al servidor remoto.

En Windows Vista, Firewall de Windows no permite la asignación de origen no estricta. Por lo tanto, el Firewall de Windows quita el paquete de respuesta UDP.

Para obtener más información acerca de la asignación de origen no estricta, consulte la sección "Conexiones UDP" del siguiente sitio Web de Microsoft:

Solución


Información del Service pack para SQL Server 2008

Importante: Aplique el service pack en el servidor remoto que ejecuta SQL Server 2008.

Para resolver este problema, obtenga el service pack más reciente para SQL Server 2008. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
968382 Cómo obtener el service pack más reciente para SQL Server 2008


Nota: La revisión sólo resuelve el problema cuando el servidor SQL se ejecuta en sistemas con Windows server 2008 o Windows Vista. Para las instalaciones de SQL Server en versiones anteriores, como Windows Server 2003, debe utilizar uno de los métodos que se describen en la sección Wordaround.

Solución alternativa


Para evitar este problema, utilice uno de los métodos siguientes en el equipo cliente.

Método 1

En la cadena de conexión, especifique el número de puerto TCP o el nombre de canalización con nombre para conectarse a la instancia con nombre.

Para obtener más información acerca de la sintaxis de la cadena de conexión, consulte la sección "Creación de una cadena de conexión válida" del siguiente sitio Web de Microsoft:

Método 2

Advertencia: esta solución puede hacer que un equipo o una red sean más vulnerables a los ataques de usuarios malintencionados o de software malintencionado como los virus. No recomendamos esta solución, pero proporcionamos esta información para que puede implementar esta solución temporal a su propia discreción. Utilice esta solución bajo su propia responsabilidad.

En Firewall de Windows con seguridad avanzada en el Panel de Control, cree una regla de salida de la aplicación que se conecta a SQL Server. Para ello, siga estos pasos:
  1. En el Panel de Control, haga doble clic en Herramientas administrativas.
  2. En Herramientas administrativas, haga doble clic en Firewall de Windows con seguridad avanzada.
  3. En Firewall de Windows con seguridad avanzada, haga clic en Reglas de saliday, a continuación, haga clic en Nueva regla.
  4. Haga clic en Sistema y, a continuación, haga clic en Siguiente.
  5. Haga clic en esta ruta de acceso del programa, especifique la ruta de la aplicación y, a continuación, haga clic en siguiente.
  6. Haga clic en Permitir la conexióny, a continuación, haga clic en siguiente.
  7. Siga los pasos del Asistente para nueva regla saliente.

Método 3

Advertencia: esta solución puede hacer que un equipo o una red sean más vulnerables a los ataques de usuarios malintencionados o de software malintencionado como los virus. No recomendamos esta solución, pero proporcionamos esta información para que puede implementar esta solución temporal a su propia discreción. Utilice esta solución bajo su propia responsabilidad.

En Firewall de Windows con seguridad avanzada en el Panel de Control, cree una regla entrante que permite tráfico de todas las posibles direcciones IP del servidor remoto o de todas las posibles direcciones IP que están configuradas para la instancia de clúster de conmutación por error. Para ello, siga estos pasos:
  1. En el Panel de Control, haga doble clic en Herramientas administrativas.
  2. En Herramientas administrativas, haga doble clic en Firewall de Windows con seguridad avanzada.
  3. En Firewall de Windows con seguridad avanzada, haga clic en Reglas de entraday, a continuación, haga clic en Nueva regla.
  4. Haga clic en personalizadoy, a continuación, haga clic en siguiente.
  5. Haga clic en todos los programasy, a continuación, haga clic en siguiente.
  6. En la lista tipo de protocolo , haga clic en ningunay, a continuación, haga clic en siguiente.
  7. En qué direcciones IP remotas hace que coincide esta regla, haga clic en estas direcciones IPy, a continuación, haga clic en Agregar.
  8. En el cuadro de diálogo Dirección IP , escriba una de las direcciones IP en esta dirección IP o subredy, a continuación, haga clic en Aceptar.
  9. Para agregar otras direcciones IP, repita los pasos del 7 al 8 y, a continuación, haga clic en siguiente.
  10. Haga clic en Permitir la conexióny, a continuación, haga clic en siguiente.
  11. Siga los pasos del Asistente para nueva regla de entrada.

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a". Este problema se corrigió primero en SQL Server 2008 Service Pack 1.

Más información


Para obtener más información acerca de Firewall de Windows con seguridad avanzada, visite el siguiente sitio Web de Microsoft: