Ошибка подключения к базе данных ms sql

Приветствую всех посетителей сайта Info-Comp.ru! Сегодня мы рассмотрим ситуацию, когда Вы пытаетесь подключиться к Microsoft SQL Server по сети, но Вам это не удаётся, так как возникает та или иная ошибка подключения.

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

Не удается подключиться к Microsoft SQL Server по сети. Устраняем ошибку подключения

Итак, давайте начнем. Допустим, у нас есть Microsoft SQL Server, установленный на Windows, и мы будем пытаться подключится к нему по сети, например, из операционной системы Linux, используя Azure Data Studio.

Заметка! Как подключиться к Microsoft SQL Server из Linux.

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

Содержание

  1. Корректность ввода данных для подключения
  2. Доступность сервера по сети
  3. Открытые порты в брандмауэре
  4. Запущена ли служба «Обозреватель SQL Server»
  5. Запущена ли служба «SQL Server»
  6. Включен ли протокол «TCP/IP»
  7. Удаленные соединения с серверов
  8. Права имени входа, сопоставление с пользователем базы данных
  9. Подведение итогов

Корректность ввода данных для подключения

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

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

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

Если не указать имя экземпляра, когда это имя необходимо указывать, мы получим ошибку

«provider: TCP Provider, error: 40 – could not open a connection to SQL Server»

А если допустить ошибку в имени экземпляра, то

«provider: TCP Provider, error: 25 – connection string is not valid»

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

Скриншот 1

Заметка! Обзор инструментов для работы с Microsoft SQL Server.

Доступность сервера по сети

Если данные для подключения верны, то следующим шагом будет, конечно же, проверка доступности сервера, так как если сервер физически недоступен, то все следующие проверки будут абсолютно бесполезны и ни к чему не приведут.

Если сервер недоступен, то Вы будете получать уже знакомую ошибку

«provider: TCP Provider, error: 25 – connection string is not valid»

Проверить доступность сервера можно стандартным способом, используя утилиту ping в командной строке.

Скриншот 2

Если сервер недоступен, то Вам необходимо настроить сеть, чтобы физический сервер, на котором располагается SQL Server, был доступен с компьютера, с которого Вы хотите подключиться.

Открытые порты в брандмауэре

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

Стандартный порт, на котором работает SQL Server, это 1433, соответственно, необходимо настроить правило для входящих подключений по порту 1433.

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

Для 2019 версии он расположен по следующему пути

Курс по SQL для начинающих

«C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe»

Кроме этого, в данном случае необходимо еще открыть UDP порт 1434 для службы «Обозреватель SQL Server».

Подробная официальная инструкция «Настройка брандмауэра Windows для доступа к SQL Server».

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

«provider: TCP Provider, error: 25 – connection string is not valid»

Поэтому запустите SQL Server Configuration Manager и проверьте соответствующую службу.

Скриншот 3

Запущена ли служба «SQL Server»

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

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

Поэтому проверяем, запущена ли служба «SQL Server» в SQL Server Configuration Manager.

Скриншот 4

Заметка! Сравнение Azure Data Studio с SQL Server Management Studio (SSMS).

Включен ли протокол «TCP/IP»

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

Это можно проверить в SQL Server Configuration Manager в разделе «Сетевая конфигурация SQL Server».

Скриншот 5

Удаленные соединения с серверов

Также необходимо проверить, разрешены ли удаленные соединения с серверов. Это можно сделать в SQL Server Management Studio в свойствах сервера на вкладке «Соединения», параметр «Разрешить удаленные соединения с сервером» должен быть включен.

Скриншот 6

Заметка! Как включить нумерацию строк кода в SQL Server Management Studio.

Права имени входа, сопоставление с пользователем базы данных

Имя входа, которое Вы указываете при подключении к SQL Server, должно обладать определенными правами, в частности оно должно быть сопоставлено с пользователем базы данных, если это не так, то Вы будете получать ошибку подключения, например

«При входе пользователя TestLogin произошла ошибка».

Поэтому необходимо проверить, сопоставлено ли имя входа с пользователем базы данных и предоставлены ли необходимые права.

Это можно сделать в SQL Server Management Studio, перейдите в контейнер «Безопасность -> Имена для входа», выберите нужное имя входа и зайдите в свойства этого имени. Затем на вкладке «Сопоставление пользователей» отметьте базы данных, с которыми будет сопоставлено данное имя входа, и задайте необходимые права в виде указания ролей базы данных.

Скриншот 7

Подведение итогов

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

Что необходимо сделать для устранения ошибки подключения к Microsoft SQL Server по сети:

Проверить корректность ввода данных для подключения

Проверить доступность физического сервера по сети

Открыть порты в брандмауэре (файрволе)

Проверить, запущена ли служба «Обозреватель SQL Server»

Проверить, запущена ли служба «SQL Server»

Проверить, включен ли протокол «TCP/IP»

Проверить, разрешены ли удаленные соединения с серверов

Проверить права имени входа и сопоставить с пользователем базы данных

Заметка! Курсы по Transact-SQL для начинающих.

На сегодня это все, надеюсь, материал был Вам полезен, пока!

Если при запуске ПК Интеллект отображается ошибка подключения к БД, необходимо проверить следующее:

  1. Запустить утилиту Обновления базы данных idb.exe (из меню Пуск — Интеллект — Утилиты или из папки <Директория установки ПК Интеллект>\Tools). Выполнить обновление базы данных.

  2. Если обновление БД выполняется с ошибками, запустить утилиту SQL Server Management Studio (из меню Пуск — Microsoft SQL Server 2014) и проверить подключение к БД с теми же параметрами, что указаны в строке подключения в утилите idb.exe.

    Если подключение не устанавливается, следует проверить правильность учетных данных, используемых для подключения. Если выполняется аутентификация с использованием учетных сведений Windows, необходимо проверить, что у пользователя есть права на доступ к SQL-серверу. Для этого необходимо войти на SQL-сервер из-под учетной записи встроенного администратора.

    Также следует проверить, что запущена служба SQL-сервер. Это можно сделать в утилите SQL Server Configuration Manager (Пуск — Microsoft SQL Server 2014 — Configuration Tools) в разделе SQL Server Services.

  3. Если подключение к SQL-серверу в утилите SQL Server Management Studio устанавливается, значит повреждена база данных конфигурации ПК Интеллект. Необходимо удалить ее, создать заново, и настроить подключение к ней в утилите idb.exe. По возможности после этого следует восстановить базу данных из резервной копии.

When I experienced this error in Visual Studio,

“A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 — Could not open a connection to SQL Server)”

…it was during the execution of the following C# code, which was attempting to obtain my SQL Server data to display it in a grid. The break occurred exactly on the line that says connect.Open():

        using (var connect = Connections.mySqlConnection)
        {
            const string query = "SELECT Name, Birthdate, Narrative FROM Friends";
            using (var command = new SqlCommand(query, connect))
            {
                connect.Open();
                using (var dr = command.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        // blah
                    }
                }
            }
        }

It was inexplicable because the SQL query was very simple, I had the right connection string, and the database server was available. I decided to run the actual SQL query manually myself in SQL Management Studio and it ran just fine and yielded several records. But one thing stood out in the query results: there was some improperly encoded HTML text inside a varchar(max) type field within the Friends table (specifically, some encoded comment symbols of the sort <!-- lodged within the «Narrative» column’s data). The suspect data row looked like this:

Name    Birthdate    Narrative
====    =========    ============== 
Fred    21-Oct-79    &lt;!--HTML Comment -->Once upon a time...

Notice the encoded HTML symbol «&lt;«, which stood for a «<» character. Somehow that made its way into the database and my C# code could not pick it up! It failed everytime right at the connect.Open() line! After I manually edited that one row of data in the database table Friends and put in the decoded «<» character instead, everything worked! Here’s what that row should have looked like:

Name    Birthdate    Narrative
====    =========    ============== 
Fred    21-Oct-79    <!--HTML Comment -->Once upon a time...

I edited the one bad row I had by using this simple UPDATE statement below. But if you had several offending rows of encoded HTML, you might need a more elaborate UPDATE statement that uses the REPLACE function:

UPDATE Friends SET Narrative = '<!--HTML Comment -->Once upon a time...' WHERE Narrative LIKE '&lt%'

So, the moral of the story is (at least in my case), sanitize your HTML content before storing it in the database and you won’t get this cryptic SQL Server error in the first place! (Uh, properly sanitizing/decoding your HTML content is the subject of another discussion worthy of a separate StackOverflow search if you need more information!)

Вопрос:

Возникают проблемы при подключении к SQL Server, при этом в сообщении об ошибке встречается фрагмент:

  1. «Ошибка подключения к серверу

    SQL

    «;

  2. «Ошибка подключения к экземпляру сервера

    SQL

    «;

  3. «При установлении соединения с

    SQL

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

  4. «Error 26»;

  5. «Error: 40».

Что можно сделать для решения таких проблем?

Ответ:

Для устранения проблемы попробуйте воспользоваться приведенной ниже инструкцией.

Инструкция по устранению наиболее часто возникающих проблем с подключением к SQL Server:

1) Проверьте, что имя сервера задано верно (в частности, если компьютер был переименован):


Также проверьте, что имя экземпляра (в данном случае – SQLEXPRESS) задано верно. При необходимости допишите его вручную в поле «Сервер баз данных».
Примечание. Если SQL Server был установлен автоматически при установке Business Studio, то имя экземпляра должно быть SQLEXPRESS.

2) Если сервер SQL находится не на локальном компьютере, то проверьте, что компьютер включен и подключен к сети.

3) Проверьте, что SQL Server запущен и настроен верно. Далее приведен пример для SQL Server 2014 (подходит и для других версий SQL Server, начиная с 2008)1):

a. Откройте Пуск->Все программы->Microsoft SQL Server 2014->Диспетчер конфигурации SQL Server 2014.

b. Проверьте, что запущена служба SQL Server (на скриншоте пример для экземпляра SQLEXPRESS), т.е. что она находится в состоянии «Работает»:

c. Проверьте, что запущена служба обозревателя SQL Server (SQL Server Browser), т.е. что она находится в состоянии «Работает»:

d. Проверьте, что удаленные соединения разрешены, т.е. что состояние протоколов «Именованные каналы» и «TCP/IP» для рассматриваемого экземпляра SQL Server – «Включено»:

4) Проверьте, что никакие брандмауэры на компьютере с сервером SQL не блокируют соединение со службой SQL. То же касается и антивирусов, т.к. некоторые из них имеют функции брандмауэров. Обратитесь к документации по этим средствам. Для проверки можно временно отключить их.
Далее приведен пример для встроенного брандмауэра Windows 7:

a. Откройте Пуск->Панель управления->Брандмауэр Windows, перейдите на закладку «Разрешить запуск программы или компонента через брандмауэр Windows» (для Windows 10 необходимо вызвать контекстное меню правой кнопкой мыши от кнопки «Пуск»->Сетевые подключения->Брандмауэр Windows->Брандмауэр и безопасность сети->Разрешить работу с приложением через брандмауэр) и нажмите кнопку «Изменить параметры».

b. Добавьте следующие программы, как показано на рисунке (повторив поз. 1-3 для каждой из программ)2):

  • C:\Program Files (x86)\Microsoft

    SQL

    Server\MSSQL12.SQLEXPRESS\MSSQL\Binn\sqlservr.exe (служба SQL Server)

  • C:\Program Files (x86)\Microsoft

    SQL

    Server\90\Shared\sqlbrowser.exe (cлужба обозревателя SQL Server)

c. Перезапустите вышеуказанные службы.

5) Возможно, имеются проблемы с разрешением сетевых имен. Попробуйте в окне Свойств подключения к базе данных в поле «Сервер базы данных» указать вместо имени компьютера его IP-адрес. Например, так:

В случае локального сервера SQL укажите IP-адрес 127.0.0.1, в случае удаленного – узнайте у администратора сети.

6) Если ничего не помогает, воспользуйтесь полной статьей от Microsoft по данной теме. Если на компьютере, где находится

SQL

Server, соединение успешно — можно сразу перейти к Шагу 9 статьи от Microsoft.

Внимание! Выполнение данных действий может потребовать квалификации и полномочий системного администратора.


К списку

В случае, если при попытке соединения с SQL Server Вы получаете ошибку При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляр указан правильно и что на SQL Server разрешены удаленные соединения, то Вам необходимо выполнить следующие действия:

  1. Правой кнопкой мыши кликните на меню ПускУправление компьютером;

  2. Перейдите в раздел Диспетчер конфигурации SQL Server (Configuration Manager SQL Server)Сетевая конфигурация SQL ServerПротоколы для MSSQLSERver;

  3. Включите протоколы TCP/IP и Именованные каналы;

  4. Перейдите в раздел Диспетчер конфигурации SQL Server (Configuration Manager SQL Server)Службы SQL Server и перезапустите службы.

Понравилась статья? Поделить с друзьями:
  • Ошибка подключения к акциз транспорт
  • Ошибка подписания curthumbprint не определено 0x800a1391
  • Ошибка подключения к базе данных friday 13
  • Ошибка подождите несколько минут прежде чем пытаться снова
  • Ошибка подключения к апп стор