Usar el Explorador de SQL Server

Actualizado: 5 de diciembre de 2005

El Explorador de SQL Server se ejecuta como un servicio de Windows en el servidor. El Explorador de SQL Server escucha las solicitudes entrantes de recursos de SQL Server y proporciona información acerca de las instancias de SQL Server instaladas en el equipo. El Explorador de SQL Server permite efectuar tres acciones:

  • Examinar una lista de los servidores disponibles
  • Conectarse a la instancia correcta del servidor
  • Conectarse a los extremos de la conexión de administrador dedicada (DAC)

Para cada instancia de Database Engine (Motor de base de datos), el servicio Explorador de SQL Server (sqlbrowser) proporciona el nombre de instancia y el número de versión. El Explorador de SQL Server se instala con SQL Server 2005 y proporciona ayuda para las versiones anteriores de SQL Server que se ejecutan en el equipo, empezando por SQL Server 7.0.

De forma predeterminada, el servicio Explorador de SQL Server no está habilitado para SQL Server Express. El Explorador de SQL Server puede configurarse inicialmente mediante la herramienta de configuración de superficie y administrarse con el Administrador de configuración de SQL Server.

Contexto

Antes de SQL Server 2000, sólo podía instalarse una instancia de SQL Server en un equipo. SQL Server escuchaba las solicitudes de entrada en el puerto 1433, que es el puerto asignado oficialmente a SQL Server por el organismo Internet Assigned Numbers Authority (IANA). Sólo una instancia de SQL Server puede usar un puerto, por lo que cuando SQL Server 2000 incluyó la compatibilidad con varias instancias de SQL Server, se desarrolló el protocolo de resolución de SQL Server (SSRP) para escuchar en el puerto 1434. Este servicio de escucha respondía a las solicitudes de los clientes con los nombres de las instancias instaladas y los puertos o canalizaciones con nombre que utilizaba la instancia. Para solucionar estas limitaciones del sistema SSRP, SQL Server 2005 proporciona el servicio Explorador de SQL Server como sustituto de SSRP.

Funcionamiento del Explorador de SQL Server

Cuando se inicia una instancia de SQL Server, se asigna un puerto TCP/IP al servidor si los protocolos TCP/IP o VIA están habilitados para SQL Server. Si el protocolo de canalizaciones con nombre está habilitado, SQL Server escucha en una canalización con nombre específica. Esa instancia específica puede usar este puerto o canalización para intercambiar datos con las aplicaciones cliente. Durante la instalación, el puerto 1433 y la canalización \sql\query se asignan a la instancia predeterminada, pero el administrador del servidor puede cambiar estos valores más tarde mediante el Administrador de configuración de SQL Server. Puesto que sólo una instancia de SQL Server puede usar un puerto o una canalización, se asignan números de puerto y nombres de canalizaciones diferentes para las instancias con nombre, incluido SQL Server Express. De forma predeterminada, las instancias con nombre están configuradas para usar puertos dinámicos, por lo que se asigna un puerto disponible cuando se inicia SQL Server. Puede asignarse un puerto determinado a una instancia de SQL Server. Al conectarse, los clientes pueden especificar el puerto deseado. Sin embargo, si el puerto se asignó dinámicamente, el número de puerto puede cambiar siempre que se reinicie SQL Server, por lo que el cliente desconoce el número de puerto correcto.

Durante el inicio, el Explorador de SQL Server inicia y reclama el puerto UDP 1434. El Explorador de SQL Server lee el Registro, identifica todas las instancias de SQL Server en el equipo y registra los puertos y las canalizaciones con nombre que usan. Cuando un servidor tiene dos o más tarjetas de red, el Explorador de SQL Server devuelve todos los puertos habilitados para SQL Server. SQL Server 2005 y el Explorador de SQL Server admiten ipv6 e ipv4.

Cuando los clientes de SQL Server 2000 y SQL Server 2005 solicitan los recursos de SQL Server, la biblioteca de la red cliente envía un mensaje UDP al servidor que usa el puerto 1434. El Explorador de SQL Server responde con el puerto TCP/IP o la canalización con nombre de la instancia solicitada. Entonces, la biblioteca de red en la aplicación cliente completa la conexión enviando una solicitud al servidor mediante el puerto o la canalización con nombre de la instancia deseada.

Usar el Explorador de SQL Server

Aunque el servicio Explorador de SQL Server no se esté ejecutando, puede conectarse a SQL Server si proporciona el número de puerto o la canalización con nombre correctos. Por ejemplo, puede conectarse a la instancia predeterminada de SQL Server mediante TCP/IP si se está ejecutando en el puerto 1433.

Las siguientes conexiones no funcionarán:

  • Cualquier componente que intente conectarse a una instancia con nombre sin especificar completamente todos los parámetros, como un puerto TCP/IP o una canalización con nombre.
  • Cualquier componente que genere o pase información de servidor o de instancia que más adelante otros componentes podrían usar para volver a conectarse.
  • La conexión a una instancia con nombre sin proporcionar el número de puerto o la canalización. Esto incluye la creación de reflejo de datos en una instancia con nombre o la agrupación de una instancia con nombre.
  • Las conexiones de administrador dedicadas en una instancia con nombre o la instancia predeterminada si no se usa el puerto TCP/IP 1434.
  • El servicio redirector de OLAP.
  • La enumeración de servidores en SQL Server Management Studio, el Administrador corporativo o el Analizador de consultas.

Si usa SQL Server en un escenario cliente-servidor (por ejemplo, cuando su aplicación obtiene acceso a SQL Server a través de una red), si detiene o deshabilita el servicio Explorador de SQL Server, debe asignar un número de puerto específico a cada instancia y escribir el código de su aplicación cliente para que siempre utilice ese número de puerto. Este enfoque plantea los siguientes problemas:

  • Debe actualizar y mantener el código de la aplicación cliente para asegurarse de que se conecta al puerto correcto.
  • Otro servicio o aplicación del servidor puede usar el puerto que elija para cada instancia, lo que provocará que la instancia de SQL Server no esté disponible.

Instalación en paralelo con SQL Server 2000

En SQL Server 2000, la identificación de los extremos de conexión del servidor la llevaba a cabo el servicio SQL Server. SQL Server 2005 ha reemplazado esa función por el servicio Explorador de SQL Server. Si instala SQL Server en un equipo en el que también se ejecuta SQL Server 2000 o MSDE, ambos deben estar actualizados al Service Pack 3 (SP3) o posterior. Las versiones anteriores a SP3 no comparten correctamente el puerto 1434 y puede que no permitan que las instancias de SQL Server estén disponibles para las aplicaciones cliente que las solicitan. Aunque puede cambiar el orden de inicio para que el servicio Explorador de SQL Server se inicie antes que SQL Server 2000 o MSDE, la solución más recomendable consiste en actualizar todas las versiones antiguas de SQL Server con el Service Pack más reciente.

Cuando en el equipo hay instalada una instancia de SQL Server 2000 sin actualizar al menos con el Service Pack 3a, se inicia el servicio de escucha de SQL Server 2000 si no se está ejecutando el Explorador de SQL Server. Si el Explorador de SQL Server se inicia después del servicio de escucha, esperará cinco segundos hasta que SQL Server 2000 libere el puerto 1434. Si no se libera, el Explorador de SQL Server no se iniciará. Para solucionar este problema con las versiones de SQL Server 2000 anteriores al Service Pack 3a, detenga SQL Server 2000, inicie el Explorador de SQL Server y, a continuación, vuelva a iniciar SQL Server 2000. El servicio de escucha de SQL Server 2000 sigue intentando iniciarse en el puerto 1434, por lo que la instancia de SQL Server 2000 debería actualizarse lo antes posible al Service Pack 3a o posterior.

SQL Server 7.0 no tiene ningún conflicto con el Explorador de SQL Server.

Instalar, desinstalar y ejecutar desde la línea de comandos

De forma predeterminada, el programa Explorador de SQL Server se instala en C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe. Si SQL Server 2000 está instalado en el equipo pero no está actualizado al SP 3, y la instancia de SQL Server 2000 no se actualiza, SQL Server 2000 debe detenerse durante la instalación de SQL Server 2005. Si se está ejecutando SQL Server 2000, el Explorador de SQL Server no puede iniciarse y reclamar el puerto 1434, y puede producirse un error en la instalación debido a la falta de conectividad.

El servicio Explorador de SQL Server se desinstala cuando se quita la última instancia de SQL Server 2005. Las instancias de SQL Server 2000 reanudarán su comportamiento original.

El Explorador de SQL Server puede iniciarse desde la línea de comandos para solucionar problemas mediante el modificador -c.

<drive>\<path>\sqlbrowser.exe -c

Seguridad

Privilegios de cuenta

El Explorador de SQL Server escucha en un puerto UDP y acepta solicitudes no autenticadas que usan el protocolo de resolución de SQL Server (SSRP). El Explorador de SQL Server debe ejecutarse en el contexto de seguridad de un usuario con pocos privilegios para minimizar el riesgo de sufrir un ataque malintencionado. De forma predeterminada, el Explorador de SQL Server se inicia mediante la cuenta del sistema local. La cuenta de inicio de sesión puede cambiarse mediante el programa Servicios de Windows. Los derechos mínimos de usuario para el Explorador de SQL Server son:

  • Denegar el acceso desde la red a este equipo.
  • Denegar inicio de sesión localmente.
  • Denegar el inicio de sesión como un trabajo por lotes.
  • Denegar inicio de sesión a través de Servicios de Terminal Server.
  • Iniciar una sesión como servicio.
  • Leer y escribir las claves del Registro de SQL Server relacionadas con la comunicación de red (puertos y canalizaciones).

Cuenta predeterminada

El programa de instalación configura el Explorador de SQL Server para que utilice la cuenta seleccionada para los servicios durante la instalación. Entre otras posibles cuentas se incluyen:

  • Cualquier cuenta dominio\local
  • La cuenta de servicio local (no disponible en plataformas de Windows 2000)
  • La cuenta del sistema local (no recomendada, ya que tiene privilegios innecesarios)

Ocultar SQL Server

Las instancias ocultas son instancias de SQL Server que sólo admiten las conexiones de memoria compartida. Para SQL Server 2005, la clave del Registro HideInstance indica que el Explorador de SQL Server no debería responder con información acerca de esta instancia de servidor. El Explorador de SQL Server también admite el método de SQL Server 2000 para ocultar las instancias habilitadas estableciendo la opción HideServer mediante la herramienta de red de servidor. Para obtener más información, vea Cómo ocultar una instancia del motor de base de datos de SQL Server en los Libros en pantalla de SQL Server 2005.

Usar un firewall

Para comunicarse con el servicio Explorador de SQL Server en un servidor situado detrás de un firewall, abra el puerto UDP 1434 además del puerto TCP usado por SQL Server (por ejemplo, 1433). Para obtener más información, vea Cómo configurar un firewall para el acceso a SQL Server en los Libros en pantalla de SQL Server 2005.

Vea también

Tareas

Cómo iniciar y detener el servicio Explorador de SQL Server (SQL Server Express)

Ayuda e información

Obtener ayuda sobre SQL Server 2005