Не удается загрузить модуль связи драйвер не был правильно установлен sql
Примечание. Я явно изменил имена серверов и IP-адреса на вымышленные.
Вот что происходит. У меня есть сервер, на котором я звоню MYSERVER , под управлением Microsoft SQL Server Express 2005. Прямо на самом сервере у меня установлено соединение ODBC, указывающее на себя, и это уже отлично работает. Я вхожу в систему с использованием аутентификации SQL Server (не аутентификации Windows), и она настроена так:
Как я уже сказал, это работает. Но затем у меня есть другой компьютер, который находится в совершенно другом домене / не в интрасети, который должен получить доступ к тому же SQL-серверу, расположенному на MYSERVER. Поскольку он находится в другом домене, он не распознает имя «MYSERVER»; Я должен указать его на IP-адрес MYSERVER, который мы скажем, 123.456.789.012. Но соединение ODBC там, похоже, не работает. Я попытался настроить это так:
Это не работает Когда я ввожу имя пользователя и пароль и нажимаю «Далее», он останавливается на добрые 10–20 секунд, а затем, наконец, возвращается со следующей ошибкой:
Если я пытаюсь сделать то же самое, но изменить «сервер» с 123.456.789.012\SQLEXPRESS просто старого 123.456.789.012 , я получу другую ошибку:
Теперь я знаю, о чем ты думаешь. Вы можете подумать: «Да, вы, вероятно, не открывали брандмауэр для порта 1433, тупица». За исключением того, что я сделал, и я подтвердил это, поскольку я могу успешно запустить:
. из командной строки все, что я хочу. Так что я не уверен, что делать. Я знаю, что SQL Server существует, работает, и соединение ODBC может быть установлено правильно; Я просто не уверен, что я ошибся в настройках подключения, которые выдают эти ошибки. Исходя из последней ошибки, которую я перечислил, может показаться, что она может подключиться к серверу, но просто не может найти экземпляр (так как я не указал тот в тот раз). Так значит ли это, что мне просто нужно использовать какой-то другой синтаксис для указания IP вместе с именем экземпляра? Что я делаю? Заранее спасибо.
В этом материале представлен последовательный план действий, который поможет Вам выявить и устранить причину возникновения таких ошибок подключения, и тем самым успешно подключиться к Microsoft SQL Server.
Итак, давайте начнем. Допустим, у нас есть Microsoft SQL Server, установленный на Windows, и мы будем пытаться подключится к нему по сети, например, из операционной системы Linux, используя Azure Data Studio.
В процессе подключения у нас возникает ошибка, и, чтобы ее устранить, мы будем последовательно выполнять определенные проверочные действия, которые помогут нам выявить причину этой ошибки.
Корректность ввода данных для подключения
Первое, с чего необходимо начать, это, конечно же, с проверки данных для подключения, т.е. правильно ли мы указываем адрес сервера и имя экземпляра (если используется именованный экземпляр).
Дело в том, что если мы неправильно укажем адрес сервера, или не укажем имя экземпляра 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»
Поэтому лучше сразу проверить корректность ввода данных для подключения.
Доступность сервера по сети
Если данные для подключения верны, то следующим шагом будет, конечно же, проверка доступности сервера, так как если сервер физически недоступен, то все следующие проверки будут абсолютно бесполезны и ни к чему не приведут.
Если сервер недоступен, то Вы будете получать уже знакомую ошибку
«provider: TCP Provider, error: 25 – connection string is not valid»
Проверить доступность сервера можно стандартным способом, используя утилиту ping в командной строке.
Если сервер недоступен, то Вам необходимо настроить сеть, чтобы физический сервер, на котором располагается SQL Server, был доступен с компьютера, с которого Вы хотите подключиться.
Открытые порты в брандмауэре
Если сервер, на котором располагается SQL Server, физически доступен, то сразу же необходимо на нем проверить доступность портов в брандмауэре Windows, или в файрволе, который Вы используете.
Стандартный порт, на котором работает SQL Server, это 1433, соответственно, необходимо настроить правило для входящих подключений по порту 1433.
В случае если Вы используете именованный экземпляр SQL Server и динамические порты, то у Вас должно быть настроено правило для программы, в частности для исполняемого файла SQL Server – sqlservr.exe.
Для 2019 версии он расположен по следующему пути
«C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe»
Кроме этого, в данном случае необходимо еще открыть UDP порт 1434 для службы «Обозреватель SQL Server».
Запущена ли служба «Обозреватель SQL Server»
Продолжая тему именованных экземпляров и динамических портов, стоит отметить, что если используется именованный экземпляр и динамические порты, то дополнительно должна быть запущена служба «Обозреватель SQL Server». Если она не запущена, то подключиться Вы не сможете, будет возникать все та же ошибка
«provider: TCP Provider, error: 25 – connection string is not valid»
Поэтому запустите SQL Server Configuration Manager и проверьте соответствующую службу.
Запущена ли служба «SQL Server»
Если сервер физически доступен, необходимые порты открыты, то следующим шагом следует проверить, а запущена ли в принципе служба SQL Server.
Ведь бывает и такое, что мы пытаемся подключиться к SQL Server, а его просто нет, т.е. он даже не запущен.
Поэтому проверяем, запущена ли служба «SQL Server» в SQL Server Configuration Manager.
Включен ли протокол «TCP/IP»
Кроме всего вышеперечисленного необходимо проверить, включен ли протокол «TCP/IP» в сетевой конфигурации SQL Server, так как если SQL Server используется в сети, данный протокол обязательно должен быть включен.
Это можно проверить в SQL Server Configuration Manager в разделе «Сетевая конфигурация SQL Server».
Удаленные соединения с серверов
Также необходимо проверить, разрешены ли удаленные соединения с серверов. Это можно сделать в SQL Server Management Studio в свойствах сервера на вкладке «Соединения», параметр «Разрешить удаленные соединения с сервером» должен быть включен.
Права имени входа, сопоставление с пользователем базы данных
Имя входа, которое Вы указываете при подключении к SQL Server, должно обладать определенными правами, в частности оно должно быть сопоставлено с пользователем базы данных, если это не так, то Вы будете получать ошибку подключения, например
«При входе пользователя TestLogin произошла ошибка».
Поэтому необходимо проверить, сопоставлено ли имя входа с пользователем базы данных и предоставлены ли необходимые права.
Это можно сделать в SQL Server Management Studio, перейдите в контейнер «Безопасность -> Имена для входа», выберите нужное имя входа и зайдите в свойства этого имени. Затем на вкладке «Сопоставление пользователей» отметьте базы данных, с которыми будет сопоставлено данное имя входа, и задайте необходимые права в виде указания ролей базы данных.
Подведение итогов
Таким образом, на основе всего вышеизложенного мы можем составить план действий, следуя которому мы обязательно определим и устраним причину возникновения ошибки подключения к Microsoft SQL Server по сети.
Что необходимо сделать для устранения ошибки подключения к Microsoft SQL Server по сети:
Почему возникает ошибка regsvr32
Итак, утилита regsvr32.exe, являющаяся частью операционной системы Windows (начиная с версии 95), – это инструмент, основным предназначением которого является регистрация различных компонентов ОС. Прежде всего – использующих технологию OLE, а таковыми являются, например, элементы ActiveX, позволяющие интегрировать программы в среду Windows вне зависимости от того, на каком языке программирования они написаны. Разумеется, это относится и к любым другим динамическим библиотекам, использующим формат DLL.
При инсталляции программ на компьютер они пытаются определить, присутствуют ли в системе установленные модули, необходимые для их правильного кроссплатформенного функционирования. И если нет, пытаются их установить самостоятельно, во многих случаях – путём простого копирования в системную папку. Однако часто этого оказывается недостаточно, поскольку операционной системе нужно знать не только где находится нужная компонента, но и как с ней работать.
Способы регистрации DLL в Windows
Регистрировать недостающие компоненты можно и с использованием консоли «Выполнить», но через командную строку это будет намного надёжнее. Все регистрируемые библиотеки помещаются в системный каталог, каковым для Windows 95/98/ME является system, для Windows XP/Vista/NT и более поздних 32-битных версий – system32, для 64-разрядных ОС – либо SysWOW64, либо system32. Все эти особенности нужно знать.
Для этого в ранних версиях Windows (вплоть до «семёрки») необходимо кликнуть по кнопке «Пуск», выбрать пункт «Все программы», пролистать список вниз до подпункта «Стандартные» и найти там «Командную строку». Кликнуть по ней ПКМ и в появившемся контекстном меню выбрать пункт «Запуск от имени администратора».
В «восьмёрке» и «десятке» это выполняется проще, достаточно просто нажать кнопку «Пуск», найти «Командную строку» и щёлкнуть по ней ПКМ с выбором нужного аргумента.
Некоторые предпочитают запускать интерпретатор через проводник – в этом случае действия аналогичные: кликаем по файлу regsvr32.exe правой кнопкой мыши и выбираем опцию «Запуск от имени администратора».
Второй способ не требует использования командной строки, поэтому он может оказаться предпочтительнее для неопытных пользователей. Приводим пошаговый алгоритм:
Если указанные действия не помогли, есть вероятность, что причина заключается в повреждённом файле regsvr32.exe или в появлении ошибок в системном реестре, связанных с работой этой утилиты. Чаще всего такие неприятности случаются при неправильном выключении компьютера, в том числе из-за пропадания электричества.
В таких случаях прибегают к помощи специализированного программного обеспечения, которое умеет находить подобные проблемы и самостоятельно исправлять их или предлагать пути решения. В качестве примера можно привести известную программу CCleaner, менее известный аналог Restoro и прочий софт аналогичной направленности.
Не помешает также проверить компьютер антивирусом, запустив полное сканирование, – файл regsvr32.exe может оказаться попросту заражённым.
А чтобы подобных проблем в будущем не возникало, не устанавливайте нелицензионное ПО, не игнорируйте защиту компьютера встроенными средствами безопасности и сторонними антивирусами и не допускайте его принудительного выключения.
1. Вы не установили на свой ПК MS SQL Server. Ссылки на установочные файлы можно найти здесь →.
2. Служба SQL Server не запущена. Бывает так, что при установленном MS SQL Server, при подключении выходит эта ошибка. Некоторые программы могут отключать службу MS SQL Server. Для устранения этой проблемы нужно заново запустить службу MS SQL Server. Существует два способа запуска службы:
2.1. Средствами MS SQL Server
— В меню Пуск щелкните правой кнопкой пункт Все программы, укажите Microsoft SQL Server 2005, Средства настройки и выберите пункт Диспетчер конфигурации SQL Server.
— В диспетчере конфигурации SQL Server выберите пункт Службы SQL Server.
— В области подробных сведений щелкните службу SQL Server правой кнопкой мыши и выберите Запустить .
После этих операций попробуйте снова подключится к БД.
2.2 Средствами Windows
После выхода Windows 10 многие пользователи стали жаловаться, что у них нет «Диспетчера конфигурации SQL Server» в Программах меню Пуск. Действительно, по неизвестным причинам при обновлений до Windows 10 «Диспетчер конфигурации SQL Server» удаляется из установленного SQL Server. В этом случае (и других случаях) службу можно запустить стандартными средствами Windows — через «Диспетчер задач«. Нажимаете ALT + CTRL + DEL на клавиатуре и выбираете пункт «Диспетчер задач«. Если вы ранее не открывали «Диспетчер задач», то он откроется в сокращенном виде, чтобы открыть Подробный вид, нажмите кнопку со стрелкой вниз и надписью «Подробнее«.
Перейдите на вкладку «Службы» и ищете службу, в описании которой будет надпись формата «SQL Server (ИмяЭкземпляра)«. Имя экземпляра может быть разным — это то имя которое Вы указываете при установке SQL Server. На скриншоте ниже ИмяЭкземпляра — SQLExpress.
Нажимаете правой кнопкой мыши по данной службе и выбираете в контекстном меню «Запустить«.
Бывают случаи, когда SQL Server после того как на ПК были установлены его другие версии, восстановить не возможно, т.е. он не устанавливается и не запускается. В этом случае поможет либо восстановление системы, либо переустановка системы.
В большинстве своем с ошибкой regsvr32 «Не удалось загрузить модуль» сталкиваются геймеры, устанавливающие на свои компьютеры неофициальные копии популярных игр, когда при взломе или обходе лицензирования необходимо регистрировать некоторые компоненты в виде динамических библиотек самостоятельно. Однако, как свидетельствуют отзывы пользователей в интернете, достаточно часто такую ситуацию можно наблюдать даже при работе с Creative Cloud от Adobe, не говоря уже о многочисленных программах, рассчитанных на обработку мультимедиа.
Для чего служит инструмент regsvr32?
Особо не вдаваясь в технические подробности, для рядовых пользователей стоит отметить, что инструментарий regsvr32 представляет собой специальное средство регистрации системных компонентов в ОС Windows всех последних поколений. Это касается так называемых OLE-объектов, в частности, элементов ActiveX и любых других динамических библиотек формата DLL.
Такие объекты иногда бывает недостаточно просто скопировать в системную папку, поскольку операционная система с ними просто так работать не сможет. Именно поэтому для Windows (чтобы она их «увидела») нужно добавить сведения о скопированной библиотеке. Но, как уже было сказано выше, зачастую вместо регистрации пользователь получает ошибку regsvr32 «Не удалось загрузить модуль». Это может происходить по совершенно разным причинам, которые зависят и от самих регистрируемых компонентов, и от разрядности операционной системы, и даже от неправильных действий самого пользователя.
Ошибка regsvr32 «Не удалось загрузить модуль»: устранение проблемы простейшим методом
В Windows 7 и ниже для этого следует отметить соответствующий пункт при вводе команды cmd в меню «Выполнить», в восьмой и десятой модификациях можно использовать соответствующий пункт из меню ПКМ на кнопке «Пуск», а общим решением для всех последних версий Windows является запуск новой задачи с администраторским приоритетом из «Диспетчера задач».
Дополнительная методика регистрации библиотек
Несмотря на наличие нужных прав при входе в систему под администраторской регистрацией или описанным выше запуском командной консоли, ошибка regsvr32 «Не удалось загрузить модуль» может появляться еще и потому, что в 64-разрядной системе библиотека не была помещена в каталог SysWOW64.
Просто скопируйте регистрируемый компонент из директории System32 в указанную локацию, а затем выполните команду регистрации «%systemroot%\SysWoW64\regsvr32» (без кавычек), через пробел указав полный путь к нужной библиотеке.
Устранение сбоя regsvr32 «Не удалось загрузить модуль» (msvcp110.dll на компьютере отсутствует)
В случае с библиотеками msvcp (причем не только с номером 110) сбои при регистрации в большинстве случаев свидетельствуют об отсутствии или нарушениях в работе специальной платформы MS Visual C++. В этой ситуации необходимо обратить внимание на то, какая именно версия платформы необходима для работы данных компонентов.
После этого ее можно инсталлировать в режиме восстановления даже через стандартный раздел программ и компонентов (кнопка «Изменить»). Иногда можно поступить и проще, загрузив с официального ресурса Microsoft оригинальные библиотеки, после чего зарегистрировать их вышеописанными методами, либо полностью переустановить всю платформу. При этом перед установкой желательно скачать официальный дистрибутив, удалить существующую версию, а только потом выполнить «чистую» установку.
Читайте также: