служба «SQL Server, браузер»
Область применения: SQL Server — только Для Windows
Обозреватель SQL Server работает как служба Windows. Обозреватель SQL Server прослушивает входящие запросы к ресурсам SQL Server и предоставляет клиентам сведения об экземплярах SQL Server, установленных на компьютере. Обозреватель SQL Server предназначен для выполнения трех задач:
- просмотра списка доступных серверов;
- соединения с нужным экземпляром сервера;
- соединения с конечными точками через выделенное административное соединение (DAC).
Для каждого экземпляра ядра СУБД и SQL Server Analysis Services (SSAS) служба обозревателя SQL Server (sqlbrowser) предоставляет имя экземпляра и номер версии. Обозреватель SQL Server устанавливается вместе с SQL Server.
Браузер SQL Server можно настроить во время установки или с помощью диспетчер конфигурации SQL Server. По умолчанию служба обозревателя SQL Server запускается автоматически:
- при обновлении установки;
- при установке в кластере;
- При установке именованного экземпляра ядро СУБД, включая все экземпляры SQL Server Express.
- при установке именованного экземпляра служб SQL Server Analysis Services.
Общие сведения
Перед SQL Server 2000 (8.x) на компьютере можно установить только один экземпляр SQL Server. SQL Server прослушивал входящие запросы через порт 1433, назначенный для SQL Server комитетом IANA. Только один экземпляр SQL Server может использовать порт, поэтому, когда SQL Server 2000 (8.x) представил поддержку нескольких экземпляров SQL Server, протокол разрешения SQL Server (SSRP) был разработан для прослушивания порта UDP (UDP) 1434. Эта служба прослушивателя отвечает на запросы клиентов с именами установленных экземпляров и портов или именованных каналов, используемых экземпляром.
Чтобы устранить ограничения системы SSRP, SQL Server 2005 (9.x) представила службу браузера SQL Server в качестве замены SSRP.
Как работает служба обозревателя SQL Server
При запуске экземпляра SQL Server и включении протокола TCP/IP для SQL Server сервер назначается TCP/IP-порт. SQL Server прослушивает определенный именованный канал, если включен протокол именованных каналов. Этот порт или именованный канал используется конкретным экземпляром для обмена данными с клиентскими приложениями. Tcp/IP-порт 1433 и канал \sql\query
назначаются экземпляру по умолчанию во время установки. Администратор сервера может изменить порт или именованный канал с помощью диспетчер конфигурации SQL Server.
Поскольку порт или канал может использоваться только одним экземпляром SQL Server, именованным экземплярам, включая SQL Server Express, назначаются другие номера портов и имена каналов. При включении именованные экземпляры и SQL Server Express по умолчанию настраиваются на использование динамических портов. То есть при запуске SQL Server назначается доступный порт.
При необходимости экземпляру SQL Server может быть назначен конкретный порт, Клиенты могут указать определенный порт при подключении к SQL Server. Однако если порт динамически назначен, номер порта может измениться в любое время перезапуска SQL Server, поэтому правильный номер порта неизвестен клиенту.
При запуске браузер SQL Server запускает и утверждает UDP-порт 1434. Браузер SQL Server считывает реестр, определяет все экземпляры SQL Server на компьютере, а также отмечает порты и именованные каналы, которые они используют. Если сервер имеет несколько сетевых плат, обозреватель SQL Server возвращает первый допустимый порт, который найден для SQL Server. Браузер SQL Server поддерживает ipv6 и ipv4.
При запросе клиентом SQL Server ресурсов SQL Server клиентская сетевая библиотека передает на сервер UDP-сообщение через порт 1434. В ответ обозреватель SQL Server сообщает TCP/IP-порт или именованный канал запрошенного экземпляра. Затем сетевая библиотека клиентского приложения завершает соединение, отправляя запрос на сервер с указанием номера порта или имени канала, относящегося к нужному экземпляру.
Сведения о запуске и остановке службы обозревателя SQL Server в статье Запуск, остановка, приостановка, возобновление, перезапуск служб SQL Server.
Использование браузера SQL Server
Если служба браузера SQL Server не запущена, вы по-прежнему можете подключиться к SQL Server, если указать правильный номер порта или именованный канал. Например, можно подключиться к экземпляру SQL Server по умолчанию с tcp/IP, если он работает через порт 1433.
Однако если служба браузера SQL Server не запущена, следующие подключения не работают:
- Если какой-либо компонент пытается подключиться к именованному экземпляру без полного указания всех параметров (номера порта TCP/IP или именованного канала).
- Любой компонент, который создает или передает сведения о сервере\экземпляре, которые другие компоненты позже могут использовать для повторного подключения.
- При соединении с именованным экземпляром без указания номера порта или канала.
- При использовании выделенного административного соединения с именованным экземпляром или экземпляром по умолчанию без использования порта TCP/IP 1433.
- Служба перенаправления сетевой аналитической обработки (OLAP).
- Перечисление серверов в SQL Server Management Studio или Azure Data Studio.
Предположим, вы используете SQL Server в сценарии клиентского сервера (например, когда приложение обращается к SQL Server через сеть). При остановке или отключении службы браузера SQL Server необходимо назначить определенный номер порта каждому экземпляру и написать код клиентского приложения, чтобы использовать этот номер порта. Такой подход приводит к следующим проблемам.
- Необходимо обновить и поддерживать код клиентского приложения, чтобы убедиться, что он подключается к соответствующему порту.
- Порт, который вы выбираете для каждого экземпляра, может использоваться другой службой или приложением на сервере, что приводит к недоступности экземпляра SQL Server.
Кластеры и браузер SQL Server
Браузер SQL Server не является кластеризованным ресурсом и не поддерживает отработку отказа с одного узла кластера на другой. Поэтому при наличии кластера браузер SQL Server должен быть установлен и включен для каждого узла кластера. В кластерах браузер SQL Server прослушивается IP_ANY
.
Примечание.
При прослушивании IP_ANY при включении прослушивания определенных IP-адресов пользователь должен настроить один и тот же TCP-порт на каждом IP-адресе, так как браузер SQL Server возвращает первую пару IP-адресов и портов, с которой она сталкивается.
Установка, удаление и запуск из командной строки
По умолчанию обозреватель SQL Server устанавливается по следующему пути: C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe.
Служба обозревателя SQL Server удаляется при удалении последнего экземпляра SQL Server.
Браузер SQL Server можно запустить из командной строки для устранения неполадок с помощью переключателя -c :
<drive>\<path>\sqlbrowser.exe -c
Безопасность
Служба браузера SQL Server имеет решающее значение для упрощения сетевого взаимодействия с экземплярами SQL Server.
Меры безопасности для службы браузера SQL Server:
- Настройка брандмауэров для разрешения трафика.
- Ограничение доступа к доверенным IP-адресам.
- Регулярное применение обновлений к уязвимостям исправлений.
- Кроме того, необходимо реализовать политики строгой проверки подлинности и авторизации, чтобы предотвратить несанкционированный доступ и обеспечить целостность среды SQL Server.
Права доступа учетной записи
Браузер SQL Server прослушивает порт UDP и принимает неуверенные запросы с помощью протокола разрешения SQL Server (SSRP). Обозреватель SQL Server должен запускаться в контексте безопасности непривилегированного пользователя, чтобы минимизировать ущерб при возможном проникновении злоумышленника. Учетную запись входа можно изменить с помощью диспетчер конфигурации SQL Server.
Права, которые необходимо назначить обозревателю SQL Server:
- Отказ в доступе к компьютеру из сети.
- Запрет входа локально.
- Запрет входа в качестве пакетного задания.
- Запретить вход в систему через службы терминалов.
- Выполнять вход в качестве службы.
- Разрешить чтение и запись разделов реестра SQL Server, связанных с сетью (порты и каналы).
Учетная запись по умолчанию
Программа установки настраивает обозреватель SQL Server на использование учетной записи, выбранной для служб при установке. К другим возможным учетным записям относятся:
- Любая учетная запись домена\локальная учетная запись.
- Учетная запись локальной службы.
- Учетная запись локальной системы (не рекомендуется, так как она имеет ненужные привилегии).
Скрытие SQL Server
Скрытые экземпляры SQL Server — это экземпляры, которые поддерживают только соединения через общую память. Для SQL Server установите HideInstance
флаг, чтобы указать, что браузер SQL Server не должен отвечать на сведения об этом экземпляре сервера.
Использование брандмауэра
Чтобы взаимодействовать со службой браузера SQL Server на сервере за брандмауэром, откройте порт UDP 1434 и порт TCP/IP, используемый SQL Server (например, 1433). Сведения о работе с брандмауэром см. в статье Настройка брандмауэра Windows для разрешения доступа к SQL Server.