BUG: Не удается подключиться к именованному экземпляру кластеризованного через брандмауэр

Переводы статьи Переводы статьи
Код статьи: 318432 - Vizualiza?i produsele pentru care se aplic? acest articol.
ОШИБКА #: 356696 (SHILOH_BUGS)
Развернуть все | Свернуть все

Проблема

При попытке подключения с именем кластеризованного экземпляра SQL Server через брандмауэр и использовать только имя экземпляра (например, SQL_Virtual_Name\Instance_Name) в строке подключения, подключение не выполняется и появляется одно из следующих сообщений об ошибке:
Сообщение об ошибке 1
Указанный SQL-сервер не найден.
Сообщение об ошибке 2
SQL Server не существует, либо доступ запрещен.
При выполнении трассировки сети на сервере, можно увидеть, что сервер фактически получает запрос от клиентского компьютера на порт UDP 1434 для IP-адреса виртуального сервера; тем не менее, ответ отправляется с физическим IP-адрес узла кластера, который в настоящее время выполняется SQL Server.

Причина

Когда клиентский компьютер подключается к компьютеру, на котором выполняется кластеризованного экземпляра SQL Server, если в строке соединения не указан TCP-порт назначения, клиентская библиотека запрашивает сервер на порт UDP 1434 для сбора сведений об экземпляре.

Когда сервер возвращает данные, сети кадр содержит IP-адрес физического узла вместо IP-адреса виртуального сервера. В зависимости от конфигурации брандмауэра этот сетевой пакет может быть удален, и клиент может не получить любой ответ.

Временное решение

Чтобы избежать возникновения этой проблемы можно выполнить одно из:
  • Укажите номер порта TCP в строке подключения. Например если VSERVER1 именем виртуального сервера SQL Server прослушивает порт TCP/IP 2433, строка подключения будет содержать следующие атрибуты.
    Data Source=VSERVER1\instancename,2433;Network Library=dbmssocn
    -ИЛИ-

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

    Создание псевдонимов SQL Server на каждом клиенте можно также автоматизировать с помощью объекта групповой политики (GPO) на контроллере домена. Предположим, что виртуальный экземпляр SQL Server с именем VSERVER1\MyInstance. Виртуальный экземпляр SQL Server прослушивает порт TCP/IP 2433. Псевдоним SQL Server, который вы хотите создать называется MyAlias. Чтобы автоматизировать Создание псевдонимов SQL Server, выполните следующие действия.
    1. На контроллере домена создайте REG-файл, содержащий записи реестра для псевдонима SQL Server.

      Например создайте файл Myreg.reg, содержит следующие сведения.
      Windows Registry Editor Version 5.00
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo]
      "DSQUERY"="DBNETLIB"
      "MyAlias"="DBMSSOCN,VSERVER1\MyInstance,2433"
    2. Чтобы создать подразделение (OU), выполните следующие действия.
      1. OPENActive Directory - пользователи и компьютеры, щелкните правой кнопкой мышиимя_домена, выберите пунктСОЗДАТЬ.и выберите командуОрганизационные единицы.
      2. В диалоговом окнеНовый объект - подразделениедиалоговое окно, введите имя Подразделения и нажмите кнопкуOk..
    3. Add the users and the computers to which you want to apply the GPO to the OU. To do this, drag the users and the computers to the OU that you created in step 2.
    4. Add a GPO to the OU. This GPO applies a user logon script or a computer startup script to import the .reg file. Выполните следующие действия::
      1. Right-click the OU that you created in step 2, and then clickСвойства.
      2. В диалоговом окнеСвойствадиалоговое окно, нажмите кнопкуГрупповая политика:TAB:.
      3. в менюГрупповая политика:ЩелкнитеСОЗДАТЬ.и выберите командуВ файлеЧтобы открытьGroup Policy Object Editor (редактор объектов групповой политики)обозревателя..
      4. If you want to apply this GPO to users or to groups, follow this step:
        • expandКонфигурация пользователяexpandКонфигурация Windowsзатем –Scripts (Logon/Logoff), а затем дважды щелкните значокВход в систему.
        If you want to apply this GPO to computers, follow this step:
        • expandКонфигурация компьютераexpandКонфигурация Windowsзатем –Scripts (Startup/Shutdown), а затем дважды щелкните значокStartup:.
      5. В диалоговом окнеСвойствадиалоговое окно, нажмите кнопкуShow Filesto open the folder that contains the script files.

        Примечание.A Universal Naming Convention (UNC) path appears in the Address bar of the folder window.
      6. Put the Myreg.reg file into the folder that you opened in step 4e.
      7. In the same folder, create a .bat file that contains the following information. Assume that the file name is Mybat.bat.
        Regedit /s <Path>\Myreg.reg
        Примечания
        • <path></path>represents the UNC path of the folder.
        • надписью/sswitch specifies to import the .reg file in silent mode.
      8. В диалоговом окнеСвойствадиалоговое окно, нажмите кнопкуДобавьте сервер.
      9. В диалоговом окнеAdd a Scriptдиалоговое окно, нажмите кнопкуОбзор.
      10. В диалоговом окнеОбзорdialog box, locate the Mybat.bat file, and then clickOPEN.
      11. В диалоговом окнеAdd a Scriptдиалоговое окно, нажмите кнопкуOk..
      12. В диалоговом окнеСвойствадиалоговое окно, нажмите кнопкуOk..
    5. Make sure that the users and the computers that you added in step 3 have theЧтениеpermission and theПрименение групповой политикиpermission to the GPO. to do this, follow these steps:
      1. ВActive Directory - пользователи и компьютеры, right-click the OU that you created in step 2, and then clickСвойства.
      2. В диалоговом окнеСвойствадиалоговое окно, нажмите кнопкуГрупповая политика:TAB:.
      3. в менюГрупповая политика:tab, click the GPO that you created in step 4c, and then clickСвойства.
      4. В диалоговом окнеСвойствадиалоговое окно, нажмите кнопкуsecurityTAB:.
      5. в менюsecuritytab, make sure that the users and the computers to which the GPO applies are listed underGroup or user names.
      6. Убедитесь, чтоЧтениеpermission and theПрименение групповой политикиpermission are specified for the users and the computers.

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Майкрософт, перечисленных в разделе «Применяется к»..

This problem is fixed in the following cases:
  • Microsoft SQL Server 2008 installed on Windows Server 2008
  • Microsoft SQL Server 2005 that co-exists together with Microsoft SQL Server 2008 on Windows Server 2008
This problem occurs in Microsoft SQL Server 2008 on Windows Server 2003.

Дополнительная информация

Дополнительные сведения см. в следующих статьях базы знаний Майкрософт::
944390FIX: Error message when you connect to a named instance of SQL Server on a client computer that is running Windows Vista or Windows Server 2008: "Specified SQL server not found" or "Error Locating Server/Instance Specified"
936302List of known issues when you install SQL Server 2005 on Windows Server 2008

Свойства

Код статьи: 318432 - Последний отзыв: 24 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
Ключевые слова: 
kbbug kbpending kbmt KB318432 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:318432

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com