Compartir a través de


Servicio SQL Server Browser (motor de base de datos y SSAS)

Se aplica a:SQL Server: solo Windows

SQL Server Browser (sqlbrowser) se ejecuta como servicio para ayudar a los equipos cliente a encontrar instancias de SQL Server en un servidor que ejecuta Windows. SQL Server Browser se instala con SQL Server. No es necesario configurar el servicio SQL Server Browser, pero debe ejecutarse en algunos escenarios de conexión.

SQL Server Browser puede ayudar con:

  • Navegar una lista de los servidores disponibles. Para cada instancia del motor de base de datos y SQL Server Analysis Services (SSAS), el servicio SQL Server Browser proporciona el nombre de instancia y el número de versión.

  • Conectarse a la instancia correcta del servidor.

  • Conectarse a los extremos de la conexión de administrador dedicada (DAC).

Configuración del servicio SQL Server Browser

SQL Server Browser se puede configurar durante la instalación o utilizando el Administrador de configuración de SQL Server. De manera predeterminada, el servicio SQL Server Browser se inicia automáticamente:

  • Cuando se actualiza una instalación.
  • Cuando se instala en un clúster.
  • Cuando se instala una instancia con nombre del motor de base de datos que incluye todas las instancias de SQL Server Express.
  • Cuando se instala una instancia con nombre de SSAS.

Funcionamiento de SQL Server Browser

En las secciones siguientes se describe cómo funciona el servicio SQL Server Browser.

Puerto TCP/IP o asignación de tubería con nombre

Cuando se inicia una instancia de SQL Server y el protocolo TCP/IP está habilitado para SQL Server, a la instancia se le asigna un puerto TCP/IP. SQL Server escucha en una canalización con nombre específica si el protocolo de canalizaciones con nombre está habilitado. Esa instancia específica utiliza dicho puerto o canalización con nombre para intercambiar datos con las aplicaciones cliente. El puerto 1433 TCP/IP y la canalización \sql\query se asignan a la instancia predeterminada durante la instalación. El administrador del servidor puede cambiar el puerto o la canalización con nombre mediante Administrador de configuración de SQL Server.

Instancias con nombre y puertos dinámicos

Dado que solo una instancia de SQL Server puede usar un puerto o canalización, se asignan números de puerto y nombres de canalización diferentes para instancias con nombre, incluida la edición SQL Server Express. De forma predeterminada, las instancias con nombre y SQL Server Express se configuran para usar los puertos dinámicos. Es decir, se asigna un puerto disponible cuando se inicia SQL Server.

Si lo desea, puede asignarse un puerto determinado a una instancia de SQL Server. Los clientes pueden especificar un puerto específico al conectarse a SQL Server. Sin embargo, si el puerto se asigna dinámicamente, el número de puerto puede cambiar cada vez que se reinicie la instancia de SQL Server, por lo que el número de puerto correcto es desconocido para el cliente.

Proceso de inicio y detección de puertos de SQL Server

Al iniciarse, SQL Server Browser se abre y reclama el puerto del Protocolo de datagramas de usuario (UDP) 1434. SQL Server Browser lee el Registro, identifica todas las instancias de SQL Server en el equipo y registra los puertos y las canalizaciones con nombre que utilizan. Cuando un servidor tiene dos o más tarjetas de red, SQL Server Browser devuelve el primer puerto habilitado que encuentra para SQL Server. SQL Server Browser admite IPv4 e IPv6.

Cuando los clientes de SQL Server solicitan recursos de SQL Server, la biblioteca de red cliente envía un mensaje UDP al servidor mediante el puerto 1434. SQL Server Browser responde con el puerto TCP/IP o con 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.

Para obtener más información sobre cómo iniciar y detener el servicio SQL Server Browser, vea Iniciar, detener, pausar, reanudar y reiniciar los servicios de SQL Server.

Uso de SQL Server Browser

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

No obstante, si el servicio SQL Server Browser no se está ejecutando, no funcionan las siguientes conexiones:

  • Cualquier componente que intente conectarse a una instancia con nombre sin especificar completamente todos los parámetros (por ejemplo, un puerto TCP/IP o una canalización con nombre).

  • Cualquier componente que genere o pase <server>\<instance> información que otros componentes podrían usar posteriormente para volver a conectarse.

  • La conexión a una instancia con nombre sin proporcionar el número de puerto o la canalización.

  • Conexión de diagnóstico para administradores de bases de datos a una instancia con nombre o a la instancia predeterminada si no usa el puerto 1433TCP/IP .

  • Servicio redirector de procesamiento analítico en línea (OLAP).

  • Enumeración de servidores en SQL Server Management Studio.

Supongamos que usa SQL Server en un escenario de servidor cliente (por ejemplo, cuando la aplicación accede a SQL Server a través de una red). Si detiene o deshabilita el servicio SQL Server Browser, debe asignar un número de puerto específico a cada instancia y configurar el código de aplicación cliente para que use 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 apropiado.

  • El puerto que elija para cada instancia podría ser utilizado por otro servicio o aplicación en el servidor, lo que hace que la instancia de SQL Server no esté disponible.

Clústeres y SQL Server Browser

SQL Server Browser no es un recurso agrupado y no admite la conmutación por error de un nodo de clúster al otro. Por tanto, si hay un clúster, SQL Server Browser debe instalarse y activarse para cada nodo de clúster. En los clústeres, SQL Server Browser escucha en IP_ANY.

Nota

Cuando SQL Server Browser escucha IP_ANY y habilita la escucha en direcciones IP específicas, debe configurar el mismo puerto TCP/IP en cada dirección IP, ya que SQL Server Browser devuelve la primera dirección IP y el par de puertos que encuentra.

Instalación, desinstalación y ejecución desde la línea de comandos

De forma predeterminada, el programa SQL Server Browser se instala en <drive>:\Program Files (x86)\Microsoft SQL Server\<nn>\Shared\sqlbrowser.exe.

El servicio SQL Server Browser se desinstala cuando se quita la última instancia de SQL Server .

SQL Server Browser puede iniciarse desde el símbolo del sistema para solucionar problemas mediante el conmutador -c:

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

Seguridad

El servicio SQL Server Browser es fundamental para facilitar la comunicación de red con instancias de SQL Server.

Las medidas de seguridad para el servicio SQL Server Browser incluyen:

  • Configuración de firewalls para permitir su tráfico.

  • Restricción del acceso a direcciones IP de confianza.

  • Aplicar actualizaciones regularmente para parchear vulnerabilidades.

  • Además, debe implementar directivas de autenticación y autorización seguras para evitar el acceso no autorizado y mantener la integridad del entorno de SQL Server.

Privilegios de cuenta

SQL Server Browser escucha en un puerto UDP y acepta solicitudes no autenticadas mediante el Protocolo de resolución de SQL Server (SSRP). SQL Server Browser debe ejecutarse en el contexto de seguridad de un usuario con pocos privilegios para minimizar el riesgo de sufrir un ataque malintencionado. La cuenta de inicio de sesión puede cambiarse mediante el Administrador de configuración de SQL Server.

Los permisos mínimos de usuario para SQL Server Browser son:

  • Denegar el acceso desde la red a este equipo.
  • Deniegue el inicio de sesión localmente.
  • Deniegue el inicio de sesión como un trabajo por lotes.
  • Denegar inicio de sesión a través de Terminal Services.
  • Inicie 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 SQL Server Browser de forma que utilice la cuenta seleccionada para los servicios durante la instalación. Otras cuentas posibles incluyen:

  • Cualquier cuenta de dominio o local.
  • La cuenta de servicio local.
  • La cuenta del sistema local (no se recomienda porque tiene privilegios innecesarios).

Ocultar SQL Server

Las instancias ocultas son instancias de SQL Server que solo admiten las conexiones de memoria compartida. Para SQL Server, establezca la marca HideInstance para señalar que SQL Server Browser no debería responder con información acerca de esta instancia del servidor.

Uso de un firewall

Para comunicarse con el servicio SQL Server Browser en un servidor detrás de un firewall, abra el puerto UDP y el puerto 1434 TCP/IP usado por SQL Server (por ejemplo, 1433). Para obtener información sobre cómo trabajar con un firewall, consulte Configurar firewall de Windows para permitir el acceso a SQL Server.