Error: No puede conectarse a una instancia con nombre agrupada a través de un firewall

Seleccione idioma Seleccione idioma
Id. de artículo: 318432 - Ver los productos a los que se aplica este artículo
Nº DE ERROR: 356696 (SHILOH_BUGS)
Expandir todo | Contraer todo

Síntomas

Si intenta conectar una instancia con nombre agrupada de SQL Server a través de un firewall y utilizar sólo el nombre de instancia (por ejemplo, SQL_Virtual_Name\Instance_Name) en la cadena de conexión, se produce un error en la conexión y puede recibir uno de los mensajes de error siguientes:
Mensaje de error 1
No se encontró el servidor SQL especificado.
Mensaje de error 2
SQL Server no existe o acceso denegado.
Si ejecuta una traza de red en el servidor, puede ver que el servidor recibe realmente la consulta desde el equipo cliente en el puerto UDP 1434 para la dirección del servidor virtual; sin embargo, la respuesta se envía con la dirección IP física del nodo de clúster que se está ejecutando SQL Server.

Causa

Cuando un equipo cliente se conecta a un equipo que está ejecutando una instancia agrupada de SQL Server, si la cadena de conexión no especifica el puerto TCP de destino, la biblioteca cliente consulta al servidor en el puerto UDP 1434 para recopilar información sobre la instancia.

Cuando el servidor devuelve la información, el marco de red contiene la dirección IP del nodo físico en lugar de la dirección IP del servidor virtual. En función de la configuración del firewall, puede eliminarse este paquete de red y el cliente no puede recibir ninguna respuesta.

Solución

Para evitar este comportamiento puede:
  • Especifique el número de puerto TCP en la cadena de conexión. Por ejemplo, si el servidor virtual de SQL Server se denomina VSERVER1 y está escuchando en el número de puerto 2433 de TCP/IP, la cadena de conexión contendrá los siguientes atributos.
    Data Source=VSERVER1\instancename,2433;Network Library=dbmssocn
    -or-

  • Crear un alias de SQL Server en cada cliente utilizando la herramienta de red de cliente. En el alias, especifique la biblioteca de red en uso (TCP/IP) y el número de puerto. Utilice este alias en su cadena de conexión y no especifica el atributo de biblioteca de red en la cadena de conexión.

    También puede automatizar la creación de alias de SQL Server en cada cliente mediante un objeto de directiva de grupo (GPO) en el controlador de dominio. Suponga que su instancia virtual de SQL Server se denomina VSERVER1\MyInstance. La instancia virtual de SQL Server está escuchando en el número de puerto 2433 de TCP/IP. El nombre del alias de SQL Server que desea crear es MyAlias. Para automatizar la creación de alias de SQL Server, siga estos pasos:
    1. En el controlador de dominio, cree un archivo .reg que contiene la entrada del registro para el alias de SQL Server.

      Por ejemplo, crear un archivo de Myreg.reg que contiene la información siguiente.
      Windows Registry Editor Version 5.00
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo]
      "DSQUERY"="DBNETLIB"
      "MyAlias"="DBMSSOCN,VSERVER1\MyInstance,2433"
    2. Para crear una unidad organizativa (OU), siga estos pasos:
      1. Abra Active usuarios y equipos de Active , haga clic con el botón secundario del mouse en DomainName, seleccione nuevo y haga clic en Unidad organizativa .
      2. En el cuadro de diálogo Nuevo objeto - unidad organizativa , escriba un nombre para la unidad organizativa y, a continuación, haga clic en Aceptar .
    3. Agregar los usuarios y los equipos que desea aplicar el GPO a la unidad organizativa. Para ello, arrastre los usuarios y los equipos a la unidad organizativa que creó en el paso 2.
    4. Agregar un objeto de directiva de grupo a la unidad organizativa. Este GPO aplica una secuencia de comandos de inicio de sesión de usuario o una secuencia de comandos de inicio de equipo para importar el archivo .reg. Para ello, siga estos pasos:
      1. Haga clic con el botón secundario en la unidad organizativa que creó en el paso 2 y, a continuación, haga clic en Propiedades .
      2. En el cuadro de diálogo Propiedades , haga clic en la ficha Directiva de grupo .
      3. En la ficha Directiva de grupo , haga clic en nuevo y, a continuación, haga clic en Modificar para abrir la ventana del Editor de objetos de directiva de grupo .
      4. Si desea aplicar este GPO a los usuarios o a grupos, siga este paso:
        • Expanda Configuración de usuario , expanda Configuración de Windows , haga clic en secuencias de comandos (inicio de sesión/cierre de sesión) y, a continuación, haga doble clic en Inicio de sesión .
        Si desea aplicar este GPO a equipos, siga este paso:
        • Expanda Configuración del equipo , expanda Configuración de Windows , haga clic en secuencias de comandos (inicio/apagado) y, a continuación, haga doble clic en Inicio .
      5. En el cuadro de diálogo Propiedades , haga clic en Mostrar archivos para abrir la carpeta que contiene los archivos de secuencias de comandos.

        Nota Una ruta de acceso UNC (convención de nomenclatura universal) aparece en la barra de direcciones de la ventana de carpeta.
      6. Coloque el archivo Myreg.reg en la carpeta que abrió en el paso 4e.
      7. En la misma carpeta, cree un archivo .bat que contiene la información siguiente. Suponga que el nombre de archivo es Mybat.bat.
        Regedit /s <Path>\Myreg.reg
        notas
        • <Path>representa la ruta de acceso UNC de la carpeta.
        • El modificador /s especifica para importar el archivo .reg en modo silencioso.
      8. En el cuadro de diálogo Propiedades , haga clic en Agregar .
      9. En el cuadro de diálogo Agregar una secuencia de comandos , haga clic en Examinar .
      10. En el cuadro de diálogo Examinar , busque el archivo Mybat.bat y, a continuación, haga clic en Abrir .
      11. En el cuadro de diálogo Agregar una secuencia de comandos , haga clic en Aceptar .
      12. En el cuadro de diálogo Propiedades , haga clic en Aceptar .
    5. Asegúrese de que los usuarios y los equipos que agregó en el paso 3, tiene el permiso de lectura y el permiso Aplicar directiva de grupo en el GPO. Para ello, siga estos pasos:
      1. En usuarios y equipos , haga clic con el botón secundario en la unidad organizativa que creó en el paso 2 y, a continuación, haga clic en Propiedades .
      2. En el cuadro de diálogo Propiedades , haga clic en la ficha Directiva de grupo .
      3. En la ficha Directiva de grupo , haga clic en el GPO que creó en el paso 4c y, a continuación, haga clic en Propiedades .
      4. En el cuadro de diálogo Propiedades , haga clic en la ficha seguridad .
      5. En la ficha seguridad , asegúrese de que los usuarios y los equipos al que se aplica el GPO se enumeran en nombres de grupos o usuarios .
      6. Asegúrese de que el permiso de lectura y el permiso Aplicar directiva de grupo se especifican para los usuarios y equipos de los.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Este problema se corrigió en los casos siguientes:
  • Microsoft SQL Server 2008 está instalado en Windows Server 2008
  • SQL Server 2005 que coexiste junto con Microsoft SQL Server 2008 en Windows Server 2008
Este problema se produce en Microsoft SQL Server 2008 en Windows Server 2003.

Más información

Para obtener más información, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
944390REVISIÓN: Mensaje de error cuando conectarse a una instancia con nombre de SQL Server en un equipo cliente que está ejecutando Windows Vista o Windows Server 2008: "Especificado no se encontró SQL server" o "Error buscar servidor/instancia especificado"
936302Lista de problemas conocidos al instalar SQL Server 2005 en Windows Server 2008

Propiedades

Id. de artículo: 318432 - Última revisión: martes, 05 de mayo de 2009 - Versión: 3.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
Palabras clave: 
kbmt kbbug kbpending KB318432 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 318432

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com