В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Как настроить SQL Server на прослушивание определенного порта

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

Эта статья на английском языке: 823938
Аннотация
В данной статье описывается статическое и динамическое назначения портов в Microsoft SQL Server 2008, SQL Server 2005 или SQL Server 2000. Также описывается настройка экземпляра SQL Server на использование статического или динамических портов.
Дополнительная информация
Выделение статического порта
Если настроить экземпляр SQL Server на использование статический порт и перезапустите экземпляр SQL Server, экземпляр SQL Server прослушивает только указанный статический порт. Клиенты SQL Server должен отправлять все запросы только статический порт, который прослушивает экземпляр SQL Server.

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

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

Если экземпляр SQL Server по умолчанию прослушивание на порту 1433, необходимо либо Определите имя псевдонима сервера или изменить порт глобального значения по умолчанию с помощью программы сетевого клиента. Тем не менее можно создать экземпляр по умолчанию для прослушивания SQL Server на несколько статических портов.

Дополнительные сведения о настройке SQL Server для прослушивания нескольких статических портов TCP щелкните следующий номер статьи базы знаний Майкрософт:
294453Настройка SQL Server на прослушивание нескольких статических портов TCP
По умолчанию экземпляр SQL Server не поддерживает динамическое выделение портов. Однако именованные экземпляры SQL Server поддерживает распределение статических и динамических портов. Именованный экземпляр SQL Server прослушивает динамических портов по умолчанию. Для именованного экземпляра SQL Server служба обозревателя SQL Server для SQL Server 2008, SQL Server 2005 или SQL Server разрешения протокола (SSRP) для SQL Server 2000 всегда используется для преобразования имени экземпляра в порт, независимо от того, является ли порт статические или динамические. Служба обозревателя или SSRP никогда не используется по умолчанию экземпляра SQL Server.

Динамическое назначение портов
Именованные экземпляры SQL Server можно использовать в процессе выделения динамических портов. В процессе выделения динамических портов, при запуске экземпляра SQL Server в первый раз порт имеет значение ноль (0). Таким образом SQL Server запрашивает свободный порт номер от операционной системы. Как только выделяемый номер порта SQL Сервер SQL Server запускается выделенный порт.

Выделенный порт записываются в реестр Windows. Каждый раз при запуске, именованный экземпляр SQL Server использует этот номер сопоставляемого порта. Тем не менее в маловероятном случае, что номер порта ранее распределенного (но не статический) при запуске SQL Server используется другой программой, на котором уже выполняется на компьютере, SQL Server выбирает другой порт.

При запуске именованные экземпляры SQL Server во второй раз SQL Server открывает номер прослушиваемого порта, который был запущен первый раз следующим образом:
  • Если порт открыт без ошибок, SQL Server прослушивает порт.
  • Если порт не открыт, и ошибок, SQL Server ведет себя следующим образом:
    • Появляется следующее сообщение об ошибке:
      КОД ошибки 10048 (WSAEADDRINUSE)
      При получении этого сообщения об ошибке SQL Server определяет используемый порт. Номер порта установите значение ноль (0) еще раз. Таким образом назначение доступного порта. И SQL Server ожидает запроса на подключение клиента через порт.
    • Если появляется сообщение об ошибке, не говоря уже о ошибке 10048, SQL Server 2000 определяет невозможно ожидания для запроса на подключение на порту. Порт не открыт.
Примечания
  • В SQL Server 2005 когда появится следующее сообщение об ошибке номер порта равным нулю (0) и открыт.
    КОД ошибки 10013 (WSAEACCES)
  • В Windows Server 2003 или Windows XP когда пытается открыть порт используется исключительно может появиться 10013 сообщение вместо сообщения об ошибке 10048.
Когда экземпляр SQL Server использует динамическое выделение портов, подключения Строка, которая встроена в клиент SQL Server не указан конечный TCP/IP порт, если пользователь или программист явно указывает порт. Таким образом, Клиентская библиотека SQL Server запрашивает сервер на порт UDP 1434 для сбора сведений о целевом экземпляре SQL Server. При SQL Server возвращает сведения, библиотека клиента SQL Server отправляет данные к соответствующему экземпляру компонента SQL Server.

Если UDP-порт 1434 отключена, клиент SQL Server не может динамически определить порт именованного экземпляра SQL Server. Таким образом клиент SQL Server не удастся подключиться к именованному экземпляру SQL Server. В этом случае клиент SQL Server необходимо указать динамически выделяемый порт, где прослушивает именованный экземпляр SQL Server 2008, SQL Server 2005 или SQL Server 2000.

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
265808Как подключиться к SQL Server с помощью более ранней версии SQL Server


Проверка конфигурации порта экземпляра SQL Server
ПримечаниеПо умолчанию экземпляры SQL Server всегда использовать статический порт.

Сначала убедитесь, что экземпляр SQL Server включен протокол TCP/IP. Проверьте журнал ошибок SQL Server, чтобы найти экземпляр SQL Server «прослушивает» порт TCP/IP. Кроме того в SQL Server 2005 и более поздних версиях можно проверить параметры в диспетчере конфигурации SQL Server. Если вы хотите просмотреть журнал ошибок SQL из внутри программы, выполните следующие действия.

Примечание Для SQL Server 2000 используйте Query analyzer для выполнения следующих запросов.
  1. Запустите среду SQL Server Management Studio и подключитесь к экземпляру SQL Server.
  2. Запустите следующий запрос:
    Use master Go Xp_readerrorlog
  3. В Результаты области, найдите следующий текст (где X.X.X.XIP-адрес экземпляра SQL Server иY это порт TCP/IP, где ожидает SQL Server):
    SQL server прослушивает X.X.X.X: Y
    Примечание. Например, если вы найдете "SQL server прослушивает 10.150.158.246: 1433" текст в Результаты области, 10.150.158.246 — это IP-адрес SQL Server и 1433 порт TCP/IP, где экземпляр SQL Server ведет прослушивание.
Для проверки конфигурации порта экземпляр SQL Server, выполните следующие действия:
  1. Запустите редактор реестра.
  2. В редакторе реестра найдите следующий раздел реестра:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\MSSQLServer\SuperSocketNetLib\Tcp</InstanceName>
    Примечание При использовании SQL Server 2005, найдите следующий подраздел реестра:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<MSSQL.x>\MSSQLServer\SuperSocketNetLib\Tcp\IPAll</MSSQL.x>
    Обратите внимание, значение TCPDynamicPorts и значение TCP-порт. Эти значения отображаются следующим образом в зависимости от вашего метода распределения портов:
    • Выделение статического порта
      Если задан экземпляр SQL Server для использования статический порт, а не еще перезапуска экземпляра SQL Server значения реестра устанавливаются следующим образом:
      TCPDynamicPorts = Последний порт, используемый
      TCP-порт = Новый статический порт, используемый после следующей перезагрузки; новый статический порт установить с помощью программы сетевого сервера
      Тем не менее если задан экземпляр SQL Server для использования статический порт и перезапустите экземпляр SQL Server значения реестра устанавливаются как выглядит следующим образом:
      TCPDynamicPorts = Пустой
      TCP-порт = Новый статический порт установить с помощью программы сетевого сервера
    • Динамического назначения портов
      Если задан экземпляр SQL Server для использования динамическое назначение портов, а не еще перезапуска экземпляра SQL Server значения реестра устанавливаются следующим образом:
      TCPDynamicPorts = Пустой
      TCP-порт = 0
      Тем не менее если задан экземпляр SQL Server использовать динамическое назначение портов и перезапустите экземпляр SQL Server значения реестра устанавливаются следующим образом:
      TCPDynamicPorts = Текущий порт, используемый
      TCP-порт = Текущий порт, используемый


Настройка экземпляра SQL Server на использование статического порта

SQL Server 2008 и SQL Server 2005

Чтобы настроить экземпляр SQL Server 2008 или SQL Server 2005 на использование статического порта, выполните действия, описанные в как: Настройка сервера для прослушивания на определенных TCP-порт (диспетчер конфигурации SQL Server) раздел в электронной документации по SQL Server 2005 или в электронной документации по SQL Server 2008.

Чтобы настроить статический порт для специализированных выделенного административного соединения (DAC), необходимо обновить раздел реестра, соответствующий экземпляр. Например раздел реестра может быть следующим:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\MSSQLServer\SuperSocketNetLib\AdminConnection\Tcp
Примечание «X» в «MSSQL.X» — это число, которое указывает каталог, где установлен экземпляр SQL Server 2005 или имя экземпляра SQL Server 2008.

SQL Server 2000

Чтобы настроить экземпляр SQL Server на использование статического порта, выполните следующие действия.
  1. Запустите программу сетевого сервера. Чтобы сделать это, выполните одно из следующих действий.
    • Нажмите кнопку Пуск, выберите пунктПрограммы, выберите пункт Microsoft SQL Server, и Нажмите кнопку Служебная программа сетевого сервера.
    • Нажмите кнопку Пуск, а затем нажмите кнопку Запуск. В Открыть Введите SVRNETCN.exe, а затем Нажмите кнопку ОК.
    В Сервер Сетевые утилиты Откроется диалоговое окно.
  2. В Сервер Сетевые утилиты диалоговое окно, нажмите кнопку Общие Вкладка.
  3. ВЭкземпляры на этом сервере список, выберите экземпляр SQL Server.

    Примечание Если протокол TCP/IP отключена, включите ее. Для этого нажмите кнопку TCP/IP в Отключено Протоколы список и нажмите кнопку Включить.
  4. В Включено Протоколы Выберите TCP/IP, а затем нажмите кнопкуСвойства.
  5. В Порт по умолчанию Введите статический номер порта и нажмите кнопку ОК.

    Примечание Статический порт, указанный должна отличаться от Динамический порт, который в настоящее время прослушивает экземпляр SQL Server. Для Например, если экземпляр SQL Server в настоящее время прослушивает динамические TCP/IP порт 1400, тип 1500 для статического порта.
  6. Нажмите кнопку ОК два раза.
  7. Перезапустите экземпляр SQL Server.
  8. Просмотр журналов ошибок SQL Server, чтобы убедиться, что экземпляр SQL Server использует статический порт.

    Примечание При наличии кластеризованного экземпляра SQL Server и выполнить указанного действия на узле кластера, можно заметить, значения реестра TCPDynamicPorts и значения реестра TCP-порт на других узлах кластера по-прежнему содержат старые значения. При Перемещение группы SQL Server с соответствующим узлом кластера, а затем подключите SQL Server через Интернет на узле кластера, значения реестра на узлах кластера будет отражать правильные значения.
Может потребоваться задать статический порт экземпляра SQL Сервер на тот же номер порта, как динамических портов, которое использовалось ранее. Чтобы сделать это, выполните следующие действия:
  1. Просмотр значения реестра TCPDynamicPorts и значение TCP-порт для определения динамического порта, более ранних экземпляр SQL Server.
  2. В Server Network Utility, значение статического порта номер порта, чем значение реестра, определенный на шаге 1.
  3. Перезапустите экземпляр SQL Server.
  4. В Server Network Utility значение статического порта значение реестра, определенный на шаге 1.
  5. Перезапустите экземпляр SQL Server.


Настройка экземпляра SQL Server на использование динамических портов

SQL Server 2008 и SQL Server 2005

Чтобы настроить экземпляр SQL Server 2008 или экземпляр SQL Server 2005 для использования динамических портов, использовать аналогичный метод, описанный в "как: Настройка сервера для прослушивания на определенных TCP-порт (диспетчер конфигурации SQL Server)» раздела в электронной документации по SQL Server 2008 или в документации по SQL Server 2005. Для получения дополнительных сведений см раздел Сетевая конфигурация сервера в электронной документации по SQL Server 2008 или в документации по SQL Server 2005.

SQL Server 2000

Чтобы настроить экземпляр SQL Server на использование динамических портов, выполните следующие действия.
  1. Запустите программу сетевого сервера. Чтобы сделать это, выполните одно из следующих действий.
    • Нажмите кнопку Пуск, выберите пунктПрограммы, выберите пункт Microsoft SQL Server, и Нажмите кнопку Служебная программа сетевого сервера.
    • Нажмите кнопку Пуск, а затем нажмите кнопку Запуск. В Открыть Введите SVRNETCN.exe, а затем Нажмите кнопку ОК.
    В Сервер Сетевые утилиты Откроется диалоговое окно.
  2. В Сервер Сетевые утилиты диалоговое окно, нажмите кнопку Общие Вкладка.
  3. ВЭкземпляры на этом сервере список, выберите экземпляр SQL Server.

    Примечание Если протокол TCP/IP отключена, включите ее. Для этого нажмите кнопку TCP/IP в Отключено Протоколы список и нажмите кнопку Включить.
  4. В Включено Протоколы Выберите TCP/IP, а затем нажмите кнопкуСвойства.
  5. В Порт по умолчанию Введите0, а затем нажмите кнопку ОК.
  6. Нажмите кнопку ОК, а затем нажмите кнопкуОК еще раз.
  7. Перезапустите экземпляр SQL Server.
  8. Просмотр журналов ошибок SQL Server, чтобы убедиться, что экземпляр SQL Server с помощью динамических портов.

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


Устранение неполадок
Если клиентов SQL Server не может получить доступ к экземпляру SQL Server после настройки его для использования статический порт TCP/IP, могут существовать следующие причины:
  • A брандмауэр может блокировать указанный порт TCP/IP.
    Если порт, который в настоящее время прослушивает экземпляр SQL Server, блокируется брандмауэром, произойдет сбой подключения. Сведения о настройке брандмауэра для работы с SQL Server можно найти в разделе Настройка брандмауэра Windows для разрешения доступа к SQL Server в электронной документации по SQL Server 2008. Хотя в этом разделе относится только к SQL Server 2008, большая часть информации относится к SQL Server 2005 и SQL Server 2000.

    Для получения дополнительных сведений щелкните следующие номера статей базы знаний Майкрософт:
    287932Номера портов TCP/IP, необходимые для обмена данными с SQL через брандмауэр
    318432 Ошибка: Не удается подключиться к кластерному именованному экземпляру через брандмауэр
    968872 Как открыть порт брандмауэра для SQL Server на Windows Server 2008
  • Другой Возможно, программа уже использует указанный порт TCP/IP.
    Если другой Программа уже использует указанный порт TCP/IP, порт недоступен для экземпляра SQL Server и SQL Server клиентам не удается подключиться к экземпляру SQL Server.

    Это проблема возникает только на экземпляр SQL Server, настроенный для использования статический порт TCP/IP. Эта проблема не возникает для экземпляра SQL Server настроен на использование динамических портов. В динамическое назначение портов, если другая программа уже использует указанный порт TCP/IP при запуске экземпляра SQL Экземпляр SQL Server Сервер выбирает новый порт.

    Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
    293107Клиентам не удается установить связь для SQL Server через порт 1433 или SQL Server прослушивает указанный порт
  • С именем экземпляра, SQL Server прослушивает порт 1433.
    Если с именем экземпляра, SQL Server прослушивает порт 1433, поставщик OLE DB для SQL Server (поставщик = SQLOLEDB) и драйвер ODBC для SQL Server (драйвер = {SQL Server}) не удается подключиться к серверу. Этот сбой при подключении происходит, когда указывается имя и номер порта из строки подключения. Если номер порта не указан, драйверов проверьте имя экземпляра сервера. Если имя экземпляра сервера не является экземпляром по умолчанию MSSQLSERVER, подключение завершается неудачно. Чтобы включить успешного подключения, необходимо указать имя экземпляра или номер порта в строке соединения или псевдоним SQL.

    Примечания
    • Не рекомендуется, имеется именованный экземпляр прослушивает порт 1433.
    • Другие поставщики, такие как System.Data.SqlClient и собственный клиент SQL (поставщик = SQLNCLI), не выполнять проверку имени экземпляра и успешно установить связь.
Ссылки
Для получения дополнительных сведений щелкните следующие номера статей базы знаний Майкрософт:
286303Поведение сетевых библиотек SQL Server 2000 во время обнаружения динамических портов
273673 Описание клиентских подключений виртуального сервера SQL
328383 Клиенты SQL Server меняют протокол, когда клиентские компьютеры пытаются подключиться к экземпляру SQL Server
Дополнительные сведения о настройке SQL Server для прослушивания различных портов на различные IP-адреса см. в разделе инструкций по настройке SQL Server для прослушивания на другие порты на различные IP-адреса в блоге поддержки Microsoft SQL Server:

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 823938 — последний просмотр: 07/16/2013 07:18:00 — редакция: 10.1

Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Workgroup

  • kbsqlsetup kbsql2005cluster kbconnectivity kbupdate kbsqlclient kbnetwork kbfirewall kbconfig kbregistry kbhowtomaster kbmt KB823938 KbMtru
Отзывы и предложения