Программирование

Как исправить ошибку ‘A Network-related or Instance-specific Error occurred while Establishing a Connection to SQL Server’ ?

Содержание:

«При установлении соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром». Сервер не был найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен на разрешение удаленных подключений. (Провайдер: Named Pipes Provider, ошибка: 40 – Не удалось открыть соединение с SQL Server) (Microsoft SQL Server, ошибка: 53)».

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

В статье рассматривается подробный список методов устранения неполадок, которые могут быть использованы для подключения к SQL-серверу. Прежде всего, мы обсудим проблемы, которые возникают, когда вам необходимо подключение к удаленному серверу с использованием IP-адреса поскольку это наиболее распространенная причина. Эти шаги написаны на языке “SQL Server 2008 R2″ на “Windows 10″, но они могут быть использованы и в других версиях с небольшими изменениями.

Ошибка обычно означает, что сервер “SQL сервер не найден” или “TCP-порт либо неизвестен, либо неверен”, или это может быть заблокировано «брандмауэром».

Метод 1: Сбор информации об экземпляре SQL Server.

В этом разделе мы обсудим способы проверки того, что либо экземпляр SQL Server работает или нет, а также методы его исправления, если он не работает.

Шаг 1. Проверьте, установлен ли экземпляр SQL Server и работает или нет

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

  1. Нажмите на Меню «Пуск» (Start menu и затем укажите на «Все программы».
  2. Теперь укажите на SQL Server, а затем укажите на «Инструменты конфигурации
  3. Нажмите «SQL Server Configuration Manager».
  4. Теперь выберите «Службы SQL Server» и проверьте в правой панели, запущен ли экземпляр движка базы данных или нет.
  5. Кроме того, его можно открыть напрямую, набрав «services.msc» в RUN и нажмите кнопку OK. Появится следующий экран.
Откройте службы, набрав «services.msc» в окне ПУСК.

Теперь проверьте, настроен ли механизм базы данных на прием удаленных соединений. Чтобы проверить это, выполните следующие действия.

  1.  После открытия служб вы можете увидеть движок базы данных в правой панели. «MSSQLSERVER» неименованный экземпляр по умолчанию. Экземпляр по умолчанию может быть только один.
  2. В случае с “SQL Express”, экземпляр по умолчанию будет «SQLEXPRESS» если только он не был переименован кем-то во время установки.
  3. Проверьте, имеет ли экземпляр, к которому вы пытаетесь подключиться, такое же имя, как указано в службах.
  4. Также убедитесь, что статус экземпляра находится в состоянии «RUNNING».
  5. Кроме того, если вы пытаетесь подключиться к именованному instant, то дважды проверьте, если «Служба SQL Server Browser» уже запущена. Таким образом, вам необходимо проверить, что “SQL Server Browser service” запускается на сервере, на котором установлен SQL Server.
  6. В случае, если движок базы данных не запущен, необходимо перезапустить его. Поэтому для запуска “Database Engine”, в правой панели щелкните правой кнопкой мыши на “Database Engine” («MSSQLSERVER» по умолчанию), а затем нажмите “Start”.
Проверьте, запущена ли уже служба «SQL Server Browser service».

Шаг 2. Получите IP-адрес компьютера.

Для этого выполните следующие действия.

  1. Прежде всего, в стартовом меню нажмите «RUN» и введите «cmd» и нажмите ok.
  2. В разделе командная строка тип окна «ipconfig» и записать IPV4 и IPV6-адреса. Люди в основном используют IPV4-адрес.
Получить IPv4-адрес

Шаг 3. Получите номер порта TCP, используемого SQL-сервером

Выполните следующие шаги, чтобы получить номер порта TCP, используемого SQL-сервером

  1. Использование “SQL Server Management Studio” (SSMS) подключиться к экземпляру SQL-сервера
  2. От “Проводник объектов” развернуть «Управление», развернуть «Журнал SQL сервера» и щелкните на текущем журнале, к которому необходимо применить фильтр.
  3. Для применения фильтра нажмите кнопку применить фильтр и введите «сервер прослушивает» в текстовом поле Сообщение содержит. Нажмите применить фильтр и нажмите ок.
    Применение фильтра » server is listening on»
  4. Появится сообщение типа “server is listening on [‘any’ <ipv4> 1433]” должно быть показано. Сообщение показывает, что экземпляр SQL Server прослушивается на всех компьютерах с IP-адрес IPv4 и TCP-порт это 1433 (по умолчанию).
  5. Для более чем одного экземпляра TCP порт будет разным для каждого экземпляра.
    Сообщение, показывающее, что сервер прослушивает IPv4 и порт 1433
  6. Если это не тот случай, то нажмите «Все программы”, указать на средства настройки MS SQL сервера, “Управление конфигурацией SQL-сервера” , и щелкните правой кнопкой мыши “TCP\IP” и нажмите кнопку включить и перезапустить SQL сервер, чтобы изменения оказали влияние.

Способ 2: Включение протоколов для порта 1433

Подключение к “Database Engine” с другого компьютера не разрешено во многих “SQL Server” если администратор не использует “Configuration Manager” чтобы разрешить его. Для этого необходимо выполнить следующие действия.

  1. Нажмите на «меню «Пуск»» а затем указывают на «Все программы»
  2. Наведите курсор на “SQL Server 2008 R2”
  3. Направление «Инструменты конфигурации», и после этого нажмите «Диспетчер конфигурации SQL Server».
  4. Развернуть «SQL Server Network Configuration».
  5. Выберите “протоколы для сервера MSSQL”. Нажмите на “TCP\IP” в правой панели.
    Открываем вкладку “Протокол”
  6. Во вкладке «протокол» установить enable как “yes”.
  7. Выберите “вкладка IP Address” в окне и установите “TCP Port” равно “1433″ в “IP All” запись.
    Установите номер порта на вкладке “IP-адрес”
  8. Теперь перезапустите движок базы данных, чтобы изменения оставили свой след. Для этого в левой панели выберите службы SQL сервера, а затем в правой панели щелкните правой кнопкой мыши экземпляр движка базы данных и нажмите кнопку “restart”.

Способ 3: Создайте исключение в брандмауэре

Иногда брандмауэр Windows включается и блокирует ссылки с другого компьютера. Чтобы исправить это, выполните следующие действия.

  1. Нажмите “Пуск” и начните набирать текст «Firewall.cpl» в окне запуска.
    Открываем «Брандмауэр.cpl»
  2. Вы получаете “рамку конфигурации” для Windows Firewall, выполнив команду “firewall.cpl” команда. Вы можете включить брандмауэр “on/off” с исключениями и другими параметрами, применяемыми здесь. Проверьте состояние брандмауэра и включите его, чтобы активировать, если брандмауэр выключен. Если вы’только что включили эту функцию, ваш брандмауэр будет блокировать любой “SQL Server” запрос на подключение к вашему компьютеру на этом этапе. Сделав определенные исключения, вам’ нужно настроить брандмауэр так, чтобы разрешить доступ к движку базы данных SQL Server.
  3. Нажмите на “Расширенные настройки”
    Нажмите на опцию расширенных настроек, чтобы открыть правила брандмауэра
  4. Нам нужно узнать о портах, используемых для “SQL Server” и “SQL Server Browser” при работе с “SQL Server” конфигурациями брандмауэра. Оба они участвуют в настройке “брандмауэр” для “SQL Server” . Таким образом, необходимо отдельно рассмотреть обе концепции.
  5. Вы может разрешить или блок трафик попытки этот соответствовать  требования в на правило на доступ сайт компьютера. По ссылке по умолчанию  “входящий трафику” это заблокирован, вы нужно на установить “входящий правило” на разрешить трафик на достигать компьютер. Нажмите the Входящий Правила с сайт слева панель на странице  на странице “Windows Firewall с Advanced Безопасность” и нажмите сайт Новый Правило с на “Actions” окно. 
    Выбор нового правила в окне “Действия”.
  6. Выберите “Портв разделе “Правило Введитеи нажмитеДалее” кнопка
    Выбор “порта”
  7. Теперь выберите “Конкретные локальные порты” и установите значение 1433
    установите “определенный локальный порт” на 1433
  8. Теперь выберите “Разрешить  connection” в сайт “Action” диалог и нажмите на Далее кнопка
    выбрав “Разрешить соединение”
  9. Дайте сайт правило aдолжность” на этот этап и нажмите Finish” кнопка.
    Дайте название правилу
  10. Выберите “Custom rule” из “Новое правило” вкладка
    Выберите “Пользовательское правило” на вкладке “Новое правило”
  11. Нажмите “customize”
    Нажмите “настроить”;
  12. Выберите “База данных Engine Instance Service” от the “Настроить Сервис Настройки” в разделе “Применить на этот service” и нажмите сайт “OK” кнопку
    Выберите “Database Engine Instance Service” из “Customize Service Settings” в разделе “Apply to this service” и нажмите кнопку “OK”
  13. Дайте правилу имя и нажмите кнопку завершить
    Дайте название новому правилу
  14. Также добавьте “sqlservr.exe” обычно расположенного в «C:\Program Files (x86)\Microsoft SQL Server\MSSQL.x\MSSQL\Bin» (или проверьте фактический путь к папке) в путь, проверьте в своих установках фактический путь к папке) и порт, значение которого по умолчанию равно “1433”. Также проверьте строку подключения.

Метод 4: Проверка локального соединения

Одна из причин этой ошибки заключается в том, что если мы укажем неправильное имя сервера, это приведет к ошибке. Как показано на рисунке ниже, имя сервера будет таким «DESKTOP-UD88TLT1» в то время как точное имя сервера «DESKTOP-UD88TLT». Таким образом, он не сможет подключиться к серверу, что приведет к ошибке «Невозможно подключиться к серверу». Это самая основная причина ошибки, поэтому при локальной работе мы должны проверить ее в первую очередь.

Ошибка возникает при локальном подключении к SQL серверу с неправильным именем сервера В случае, если вы используете express edition, следуя имени вашего сервера, добавьте “\SQLEXPRESS” как показано на рисунке ниже.

Локальное подключение к SQL-серверу при использовании экспресс-версии

Добавить комментарий