Использование обозревателя SQL Server

Изменения: 5 декабря 2005 г.

Обозреватель SQL Server запускается на сервере как служба. Обозреватель SQL Server прослушивает входящие запросы ресурсов SQL Server и предоставляет данные об установленных на компьютере экземплярах SQL Server. Обозреватель SQL Server выполняет три функции:

  • обзор списка доступных серверов;
  • подключение к правильному экземпляру на сервере;
  • соединение с конечными точками для выделенного административного соединения (DAC).

Для каждого экземпляра компонента Database Engine служба «Обозреватель SQL Server» (sqlbrowser) предоставляет имя и номер версии. Обозреватель SQL Server устанавливается вместе с SQL Server 2005 и обеспечивает поддержку всех предыдущих версий SQL Server, которые запускаются на этом компьютере, начиная с SQL Server 7.0.

По умолчанию служба «Обозреватель SQL Server» не включена для SQL Server Express. Изначально обозреватель SQL Server можно настроить с помощью средства настройки контактной зоны и управлять посредством диспетчера конфигурации SQL Server.

Журнал

До SQL Server 2000 на компьютере можно было установить только один экземпляр SQL Server. SQL Server прослушивал входящие запросы на порту 1433, назначенном для SQL Server официальным органом Internet Assigned Numbers Authority (IANA). Соответственно, порт можно было использовать только одному экземпляру SQL Server, поэтому, когда в SQL Server 2000 появилась поддержка нескольких экземпляров SQL Server, был разработан протокол SQL Server Resolution Protocol (SSRP), который работал через порт 1434. Эта слушающая служба стала отвечать на клиентские запросы с именами установленных экземпляров и портами или именованными каналами, используемыми экземпляром. Для устранения ограничений системы SSRP SQL Server 2005 предостатавляет службу «Обозреватель SQL Server», заменившую SSRP.

Как работает служба «Обозреватель SQL Server»

Если для SQL Server включены протоколы TCP/IP или VIA, при запуске экземпляра SQL Server серверу будет назначен порт TCP/IP. Если включен протокол именованных каналов, SQL Server прослушивает конкретный именованный канал. Этот порт или канал будут использоваться конкретным экземпляром для обмена данными с клиентскими приложениями. Во время установки порт 1433 и канал \sql\query назначаются экземпляру по умолчанию, однако позднее администратор сервера может сменить их в диспетчере конфигурации SQL Server. Поскольку только один экземпляр SQL Server может использовать порт или канал, именованным экземплярам назначаются различные номера портов и каналов, в том числе SQL Server Express. По умолчанию именованные экземпляры настроены на использование динамических портов, поэтому при запуске SQL Server назначается доступный порт. Экземпляру SQL Server можно назначить конкретный порт. При подключении клиенты могут указать необходимый порт. Однако если порт назначается динамически, его номер может меняться при каждом перезапуске SQL Server, что позволяет скрывать этот номер от клиента.

В момент запуска обозреватель SQL Server запускается и закрепляет за собой порт UDP 1434. После чтения реестра он определяет все экземпляры SQL Server на компьютере, а также порты и именованные каналы, используемые ими. Если на сервере установлены две или более сетевых плат, обозреватель SQL Server будет возвращать все порты, включенные для SQL Server. Сервер SQL Server 2005 и обозреватель SQL Server поддерживают протоколы ipv6 и ipv4.

Когда клиенты SQL Server 2000 и SQL Server 2005 запрашивают ресурсы SQL Server, клиентская сетевая библиотека отправляет сообщение UDP на сервер через порт 1434. Обозреватель SQL Server отправляет в ответ порт TCP/IP или именованный канал запрошенного экземпляра. После этого сетевая библиотека в клиентском приложении закрывает подключение, отправляя запрос на сервер через порт или именованный канал необходимого экземпляра.

Применение обозревателя SQL Server

Даже если служба «Обозреватель SQL Server» не запущена, к SQL Server можно подключиться, указав правильный номер порта или именованный канал. Например, если экземпляр по умолчанию SQL Server запущен на порту 1433, к нему можно подключиться по протоколу TCP/IP.

Следующие подключения не работают:

  • Подключение любого компонента к именованному экземпляру без указания всех параметров, например порта TCP/IP или именованного канала.
  • Подключение любого компонента с созданием или передачей серверу либо экземпляру сведений, которые могут позднее использоваться другими компонентами для повторного подключения.
  • Подключение к именованному экземпляру без указания номера порта или канала. Сюда относится и зеркальное отображение данных в именованный экземпляр, и кластеризация именованного экземпляра.
  • Выделенные административные соединения к именованному экземпляру или экземпляру по умолчанию, если порт TCP/IP 1434 не используется.
  • Служба перенаправителя OLAP.
  • Перечисление серверов в SQL Server Management Studio, программах Enterprise Manager или Query Analyzer.

Если SQL Server используется в сценарии «клиент-сервер», например при обращении приложения к SQL Server по сети, то при остановке или отключении службы «Обозреватель SQL Server» необходимо назначить специальный номер порта для каждого экземпляра и указать в коде клиентского приложения постоянное использование этого номера порта. Этот подход связан со следующими трудностями.

  • Код клиентского приложения необходимо обновлять и поддерживать, чтобы подключение выполнялось через правильный порт.
  • Может оказаться, что выбранный для каждого экземпляра порт используется другой службой или приложением на сервере, и это не позволит обращаться к экземпляру SQL Server.

Параллельная установка с SQL Server 2000

В SQL Server 2000 определение конечных точек для подключения к серверу выполнялось службой SQL Server. В SQL Server 2005 на смену этой функции пришла служба «Обозреватель SQL Server». Если SQL Server устанавливается на компьютер, где также запускается SQL Server 2000 или выпуск MSDE, их необходимо обновить до пакета обновления 3 (SP3) или более поздней версии. В версиях до пакета обновления 3 (SP3) порт 1434 использовался неправильно, это может закрыть доступ запрашивающим клиентским приложениям к экземплярам SQL Server. Хотя порядок загрузки можно изменить так, чтобы служба «Обозреватель SQL Server» всегда запускалась перед SQL Server 2000 или MSDE, все же рекомендуется обновить ранние версии SQL Server пакетом обновления последней версии.

Если на компьютере установлен экземпляр SQL Server 2000, который не был обновлен пакетом обновления 3а или более поздними версиями, и не запущен обозреватель SQL Server, то запускается служба прослушивания SQL Server 2000. Если обозреватель SQL Server запускается после службы прослушивания, он ждет пять секунд, пока SQL Server 2000 не освободит порт 1434. Если этого не происходит, обозреватель SQL Server не запускается. Для решения проблемы с более ранними версиями SQL Server 2000, чем пакет обновления SP3a, остановите SQL Server 2000, запустите обозреватель SQL Server и снова перезапустите SQL Server 2000. Служба прослушивания SQL Server 2000 будет по-прежнему предпринимать попытки запуска на порту 1434, поэтому экземпляр SQL Server 2000 необходимо как можно скорее обновить до пакета обновления SP3a или последующего.

У SQL Server 7.0 нет конфликтов с обозревателем SQL Server.

Установка, удаление и запуск из командной строки

По умолчанию обозреватель SQL Server устанавливается в следующий каталог: C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe. Если на компьютере установлен SQL Server 2000, но не обновлен до пакета обновления 3 (SP3), и если экземпляр SQL Server 2000 не обновляется, SQL Server 2000 следует остановить на время установки SQL Server 2005. Если приложение SQL Server 2000 запущено, обозреватель SQL Server не удастся запуститьи захватить порт 1434, и установка может остановиться из-за отсутствия подключения.

Служба «Обозреватель SQL Server» удаляется после удаления последнего экземпляра SQL Server 2005. Экземпляры SQL Server 2000 будут работать, как и прежде.

Обозреватель SQL Server можно запустить из командной строки для поиска и устранения неполадок с помощью параметра -c.

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

Безопасность

Права учетных записей

Обозреватель SQL Service прослушивает порт UDP и принимает не прошедшие проверку запросы по протоколу SQL Server Resolution Protocol (SSRP). Обозреватель SQL Server следует запускать в безопасной пользовательской среде с ограниченными правами для снижения риска вредоносной атаки. По умолчанию обозреватель SQL Server запускается от имени локальной учетной записи. Учетную запись можно сменить в программе Windows Services. В обозревателе SQL Server предусмотрены следующие минимальные права:

  • отказ в доступе к этому компьютеру по сети;
  • отказ в локальном доступе;
  • отказ в доступе в качестве пакетного задания;
  • отказ в доступе через службу терминалов;
  • вход в качестве службы;
  • чтение и запись разделов реестра SQL Server, связанных с сетевым обменом данных (порты и каналы).

Стандартная учетная запись

Программа установки настраивает обозреватель SQL Server для использования учетной записи, выбранной для служб при установке. Можно указать другую учетную запись:

  • Любая учетная запись домен\локальная
  • Учетную запись локальной службы (недоступно на платформах W2K)
  • Учетную запись локальной системы (не рекомендуется за избыточностью прав доступа).

Сокрытие SQL Server

Скрытые экземпляры — это экземпляры SQL Server, поддерживающие подключения только к совместно используемой памяти. Для SQL Server 2005 раздел реестра HideInstance указывает, что служба «Обозреватель SQL Server» не должна отвечать на запросы данных об этом экземпляре на сервере. Обозреватель SQL Server также поддерживает способ сокрытия экземпляров SQL Server 2000, включенных с помощью параметра HideServer через сетевую программу на сервере. Дополнительные сведения см. в разделе Как скрыть экземпляр ядра СУБД SQL Server электронной документации по SQL Server 2005.

Использование брандмауэра

Чтобы обмениваться данными со службой «Обозреватель SQL Server» на сервере, защищенным брандмауэром, откройте порт UDP 1434 в дополнение к порту TCP, используемому SQL Server (например, порту 1433). Дополнительные сведения см. в разделе Как настроить брандмауэр для доступа к SQL Server электронной документации по SQL Server 2005.

См. также

Задачи

Как запустить и остановить работу службы «SQL Server, обозреватель» (SQL Server Express)

Справка и поддержка

Получение помощи по SQL Server 2005