Ms sql подключение не установлено т к конечный компьютер отверг запрос на подключение
Подскажите пожалуйста.
Ситуация следующая: Стоял у нас SQL Express. В 1С база разрослась более 4 гигов. Посему было принято решение установить SQL Server 2008 R2. Сделал бэкап базы. Снес SQL Express. Развернул SQL Server 2008 R2. Восстановил базу из бэкапа. И сейчас при попытке к ней подключиться выдает
Ошибка при выполнении операции с информационной базой
Ошибка СУБД:
Microsoft SQL Server Native Client 10.0: TCP Provider: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.
HRESULT=80004005, HRESULT=80004005, HRESULT=80004005, SQLSrvr: SQLSTATE=08001, state=1, Severity=10, native=10061, line=0
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 10.0: TCP Provider: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.
В каком направлении копать? Голову уже сломал.
(0) как эксперимент: создай пустую БД и подключись к ней, если не получится то (1), если получится, наверно, придётся переносить данные через dt.
tcp/ip включен в SQL server configuration manager
Пустую базу сейчас попробую создать
Новый SQL делел на том де компе где и SQL Express? Не снося его? Тогда у тебя будет второй инстанс сервера. Подлючаться попробуй типа так SERVER\SQLEXPRESS
Точно название можно посмотреть в службах винды.
В Microsoft SQL Server Management Studio база создалась, а в администрировании серверов 1с предприятия при создании та же ошибка.
Есть наблюдение, что express редакции MSSQL вполне себе работают с базами любых размеров, они просто сформируют ошибку когда им приспичит увеличить файл БД, и он окажется больше установленного предела. :)
Может быть, конечно, эту дырочку в MS уже и прикрыли.
(7) Экспресс не даст создать, расширить или приаттачить базу размером более чем. Но если подсунуть вместо уже приаттаченной файл размером более чем - то работает. Но лучше не рисковать.
(11) Новый SQL развернул поле деинсталляции Express
в диспетчере конфигурации привязка к TCP/IP включена.
Бэкап делал из MSSMS.
Пользователь, под которым в SQL создают базы из 1С не совпадает, проверь его. Попробуй под SA создавать базы. Это как вариант.
Криво снес SQL EXPRESS. Должно быть типа SQL Server (MSSQLSERVER)
Попробуй снести и проверь чтобы не было службы.
(14) В Microsoft SQL Server Management Studio базу создал естественно под SA, а в администрировании серверов 1с предприятия при создании тоже указываю логин и пароль SA та же ошибка.
(17) SQL Server (MSSQLSERVER) это если я правильно понимаю платная, а я устанавливаю MS SQL Server 2008 R2 Express Edition
(8) Работает, только при перезаписи или добавлении нового документа в 1с, лезет невнятная ошибка о превышении размера тома.
(24)Да я так и подключаюсь. В MSSMS база создается, из бэкапа восстанавливается, видны таблицы, все функционирует, а когда пытаешься добавить её в 1С конфигуратор серверов вываливается ошибка. Не цепляется она 1с-кой. Вот в чем беда.
(21) Вы имеете в виду Триал версию? SELECT @@VERSION что возрващает?
и sys.xp_readerrorlog выполни и выложи что показывает.
(32) Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (Intel X86) Jun 28 2012 08:42:37 Copyright (c) Microsoft Corporation Express Edition with Advanced Services on Windows NT 6.0 (Build 6002: Service Pack 2)
2015-09-19 00:12:10.140 Server Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (Intel X86) Jun 28 2012 08:42:37 Copyright (c) Microsoft Corporation Express Edition with Advanced Services on Windows NT 6.0 (Build 6002: Service Pack 2)
2015-09-19 00:12:10.150 Server (c) Microsoft Corporation.
2015-09-19 00:12:10.150 Server All rights reserved.
2015-09-19 00:12:10.150 Server Server process ID is 2276.
2015-09-19 00:12:10.150 Server System Manufacturer: 'ASUSTeK COMPUTER INC.', System Model: 'Z9PA-D8 Series'.
2015-09-19 00:12:10.150 Server Authentication mode is MIXED.
2015-09-19 00:12:10.150 Server Logging SQL Server messages in file 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\Log\ERRORLOG'.
2015-09-19 00:12:10.150 Server This instance of SQL Server last reported using a process ID of 2252 at 18.09.2015 23:50:54 (local) 18.09.2015 12:50:54 (UTC). This is an informational message only; no user action is required.
2015-09-19 00:12:10.150 Server Registry startup parameters: -d C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\master.mdf -e C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\Log\ERRORLOG -l C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\mastlog.ldf
2015-09-19 00:12:10.170 Server SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.
2015-09-19 00:12:10.170 Server Detected 4 CPUs. This is an informational message; no user action is required.
2015-09-19 00:12:10.290 Server Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node. This is an informational message only. No user action is required.
2015-09-19 00:12:10.810 Server Node configuration: node 0: CPU mask: 0x0000000f:0 Active CPU mask: 0x0000000f:0. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required.
2015-09-19 00:12:11.010 spid6s Starting up database 'master'.
2015-09-19 00:12:11.100 spid6s Recovery is writing a checkpoint in database 'master' (1). This is an informational message only. No user action is required.
2015-09-19 00:12:11.180 spid6s FILESTREAM: effective level = 0, configured level = 0, file system access share name = 'SQLEXPRESS'.
2015-09-19 00:12:11.240 spid6s SQL Trace ID 1 was started by login "sa".
2015-09-19 00:12:11.240 spid6s Starting up database 'mssqlsystemresource'.
2015-09-19 00:12:11.260 spid6s The resource database build version is 10.50.4000. This is an informational message only. No user action is required.
2015-09-19 00:12:11.460 spid10s Starting up database 'model'.
2015-09-19 00:12:11.460 spid6s Server name is 'ROOT\SQLEXPRESS'. This is an informational message only. No user action is required.
2015-09-19 00:12:11.480 spid6s Informational: No full-text supported languages found.
2015-09-19 00:12:11.480 spid6s Starting up database 'msdb'.
2015-09-19 00:12:11.510 Server The certificate [Cert Hash(sha1) "9DE875FC55B6DFFEF50F17CF97B083149ED970BD"] was successfully loaded for encryption.
2015-09-19 00:12:11.520 Server Server is listening on [ 'any' 52228].
2015-09-19 00:12:11.520 Server Server is listening on [ 'any' 52228].
2015-09-19 00:12:11.520 Server Server local connection provider is ready to accept connection on [ \\.\pipe\SQLLocal\SQLEXPRESS ].
2015-09-19 00:12:11.520 Server Server local connection provider is ready to accept connection on [ \\.\pipe\MSSQL$SQLEXPRESS\sql\query ].
2015-09-19 00:12:11.520 Server Dedicated administrator connection support was not started because it is disabled on this edition of SQL Server. If you want to use a dedicated administrator connection, restart SQL Server using the trace flag 7806. This is an informational message only. No user action is required.
2015-09-19 00:12:11.520 Server The SQL Server Network Interface library could not register the Service Principal Name (SPN) for the SQL Server service. Error: 0x54b, state: 3. Failure to register an SPN may cause integrated authentication to fall back to NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies.
2015-09-19 00:12:11.520 Server SQL Server is now ready for client connections. This is an informational message; no user action is required.
2015-09-19 00:12:11.540 spid10s Clearing tempdb database.
2015-09-19 00:12:11.680 spid10s Starting up database 'tempdb'.
2015-09-19 00:12:11.730 spid13s The Service Broker protocol transport is disabled or not configured.
2015-09-19 00:12:11.730 spid13s The Database Mirroring protocol transport is disabled or not configured.
2015-09-19 00:12:11.740 spid13s Service Broker manager has started.
2015-09-19 00:12:11.760 spid6s Recovery is complete. This is an informational message only. No user action is required.
2015-09-19 00:15:02.660 spid55 Attempting to load library 'xpstar.dll' into memory. This is an informational message only. No user action is required.
2015-09-19 00:15:02.690 spid55 Using 'xpstar.dll' version '2009.100.1600' to execute extended stored procedure 'xp_instance_regread'. This is an informational message only; no user action is required.
2015-09-19 00:15:02.770 spid55 Starting up database '1C_Fermer_b'.
2015-09-19 00:18:06.600 spid55 Starting up database '1C_Fermer_b'.
При установке экземпляра по умолчанию эту службу можно отключать, т.к. обращение идет по стандартному порту, для именованных она нужна:
При установлении соединения с SQL Server произошла ошибка сети или данного экземпляра. Сервер не найден или недоступен. Убедитесь, что имя указано правильно и что SQL Server настроен на разрешение удаленных подключений. (поставщик: сетевые интерфейсы SQL, ошибка: 26 — ошибка поиск указанного сервера/экземпляра)
Ошибка связи данных собственного клиента SQL Server --------------------------- [Microsoft SQL Server собственного клиента 10.0]: время ожидания входа истекло [Microsoft SQL Server собственного клиента 10.0]: при подключении к SQL Server произошла ошибка сети или данного экземпляра. Сервер не найден или не доступен. Проверьте правильность имени экземпляра и если SQL Server настроен на разрешение удаленных подключений. Дополнительные сведения содержатся в разделе электронной документации по SQL Server. [Microsoft SQL Server собственного клиента 10.0]: сетевые интерфейсы SQL Server: Ошибка поиска сервера/экземпляра указанного [xFFFFFFFF].
При установлении соединения с SQL Server произошла ошибка сети или данного экземпляра. Сервер не найден или недоступен. Убедитесь, что имя указано правильно и что SQL Server настроен на разрешение удаленных подключений. (поставщик: поставщик TCP, ошибка: 0 - A подключения не удалась, поскольку подключаемая сторона не ответила правильно после определенного периода времени, либо установленное подключение не удалась, поскольку подключен узел не отвечает.) (Microsoft SQL Server, ошибка: 10060)
При установлении соединения с SQL Server произошла ошибка сети или данного экземпляра. Сервер не найден или недоступен. Убедитесь, что имя указано правильно и что SQL Server настроен на разрешение удаленных подключений. (поставщик: именованные каналы поставщика, ошибка: 40 - не удалось открыть подключение к SQL Server) (Microsoft SQL Server, ошибка: 53) Сетевой путь не найден
[Microsoft] [SQL Server собственного клиента 11.0] поставщик TCP: подключение не установлено, т.к. конечный компьютер отверг его. [Microsoft] [SQL Server собственного клиента 11.0] Время ожидания входа истекло [Microsoft] [SQL Server собственного клиента 11.0] При установлении соединения с SQL Server произошла ошибка сети или данного экземпляра. Сервер не найден или не доступен. Проверьте правильность имени экземпляра и если SQL Server настроен на разрешение удаленных подключений. Дополнительные сведения содержатся в электронной документации по SQL Server.
В этом материале представлен последовательный план действий, который поможет Вам выявить и устранить причину возникновения таких ошибок подключения, и тем самым успешно подключиться к Microsoft SQL Server.
Итак, давайте начнем. Допустим, у нас есть Microsoft SQL Server, установленный на Windows, и мы будем пытаться подключится к нему по сети, например, из операционной системы Linux, используя Azure Data Studio.
В процессе подключения у нас возникает ошибка, и, чтобы ее устранить, мы будем последовательно выполнять определенные проверочные действия, которые помогут нам выявить причину этой ошибки.
Запущена ли служба «SQL Server»
Если сервер физически доступен, необходимые порты открыты, то следующим шагом следует проверить, а запущена ли в принципе служба SQL Server.
Ведь бывает и такое, что мы пытаемся подключиться к SQL Server, а его просто нет, т.е. он даже не запущен.
Поэтому проверяем, запущена ли служба «SQL Server» в SQL Server Configuration Manager.
Открытые порты в брандмауэре
Если сервер, на котором располагается 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 необходимо указывать в тех случаях, когда у нас настроен именованный экземпляр, например, в редакции Express по умолчанию настраивается именованный экземпляр и динамические порты.
Если не указать имя экземпляра, когда это имя необходимо указывать, мы получим ошибку
«provider: TCP Provider, error: 40 – could not open a connection to SQL Server»
А если допустить ошибку в имени экземпляра, то
«provider: TCP Provider, error: 25 – connection string is not valid»
Поэтому лучше сразу проверить корректность ввода данных для подключения.
Включен ли протокол «TCP/IP»
Кроме всего вышеперечисленного необходимо проверить, включен ли протокол «TCP/IP» в сетевой конфигурации SQL Server, так как если SQL Server используется в сети, данный протокол обязательно должен быть включен.
Это можно проверить в SQL Server Configuration Manager в разделе «Сетевая конфигурация SQL Server».
Запущена ли служба «Обозреватель SQL Server»
Продолжая тему именованных экземпляров и динамических портов, стоит отметить, что если используется именованный экземпляр и динамические порты, то дополнительно должна быть запущена служба «Обозреватель SQL Server». Если она не запущена, то подключиться Вы не сможете, будет возникать все та же ошибка
«provider: TCP Provider, error: 25 – connection string is not valid»
Поэтому запустите SQL Server Configuration Manager и проверьте соответствующую службу.
Права имени входа, сопоставление с пользователем базы данных
Имя входа, которое Вы указываете при подключении к SQL Server, должно обладать определенными правами, в частности оно должно быть сопоставлено с пользователем базы данных, если это не так, то Вы будете получать ошибку подключения, например
«При входе пользователя TestLogin произошла ошибка».
Поэтому необходимо проверить, сопоставлено ли имя входа с пользователем базы данных и предоставлены ли необходимые права.
Это можно сделать в SQL Server Management Studio, перейдите в контейнер «Безопасность -> Имена для входа», выберите нужное имя входа и зайдите в свойства этого имени. Затем на вкладке «Сопоставление пользователей» отметьте базы данных, с которыми будет сопоставлено данное имя входа, и задайте необходимые права в виде указания ролей базы данных.
Подведение итогов
Таким образом, на основе всего вышеизложенного мы можем составить план действий, следуя которому мы обязательно определим и устраним причину возникновения ошибки подключения к Microsoft SQL Server по сети.
Что необходимо сделать для устранения ошибки подключения к Microsoft SQL Server по сети:
Иногда при работе с 1С возникает очень неприятная ошибка — Сервер баз данных не обнаружен. Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. Самая большая неприятность для пользователей заключается в том, что эта ошибка возникает при попытке входа в 1С, соответственно в базу попасть невозможно, работа фирмы остановлена.
Сервер баз данных не обнаружен
Расскажу в этой статье как можно быстро побороть эту проблему. Как правило, для того чтобы разобраться в чем проблема, нужно внимательно прочитать ошибку и попытаться понять о чем она нам говорит. Итак мы видим что:
- Сервер не обнаружен — значит мы должны проверить все ли в порядке с нашим компьютером на котором располагаются базы 1С. Включен ли он и т.д. В любом случае, можно перезагрузить — никогда не помешает.
- Так же в ошибке нам сообщается о конкретном имени сервера к которому не удалось подключиться — значит нужно перепроверить в свойствах базы имя сервера и имя базы.
- Далее если все правильно, значит скорее всего дело в службах, которые обеспечивают работу базы 1С в серверном варианте. Для того чтобы это проверить нам нужно зайти на сервере в раздел Администрирование и выбрать там пункт Службы.
Во первых нужно обратить внимание на службу Агент сервера 1С Предприятия. Либо по английски : 1C Enterprise Server Agent. Посмотрите запущена ли она. Если нет — запустите, если да — перезапустите. Для этого нужно щелкнуть по ней правой кнопкой мыши и выбрать соответствующий пункт.
Служба Агент сервера
В большинстве случаев, этих несложных действий хватает, чтобы избавиться от ошибки. Если проблема не уходит обратите внимание еще на одну службу. Службу SQL Server. Проверьте, запущена ли она. Если нет запустите.
Служба Sql server
В моей практике был такой случай, что эта служба перестала запускаться автоматически из за того, что поменяли пароль для учетной записи пользователя, под которым запускается служба. Поэтому если служба не запущена, не помешает зайти в ее свойства и проверить правильность пароля пользователя, под которым настроен ее запуск.
Надеюсь, что после всех описанных действий вы избавитесь от ошибки — Сервер баз данных не обнаружен. Если нет — вы всегда можете обратиться ко мне.
Также если у вас в штате нет системного администратора, чтобы решать подобные проблемы с 1С — советую вам обратить свое внимание на 1С в облаке. За некоторую плату, ребята берут на себя всю работу системного администратора по обслуживанию 1С.
Если вам понравилась статья, вы можете поделиться ей в социальных сетях.)
Не подключается к БД mysql,хост,логин ,пароль верные,страница проверки открывается,но информация не заносится в таблицу.После ошибок,полностью переписал код с видосика,ошибка та же,пробовал mysqli_connect,тоже не получается.Что написано не так?
- Вопрос задан более года назад
- 502 просмотра
Простой 11 комментариев
Денис Юрьев, код должен отправлять информацию в бд,но он не отправляет,никаких сопутствующих не вылезает.
в начало скрипта воткните и попробуйте воспроизвести еще раз
Да и коннект с запросами на исключения проверять бы сразу
PS: Мимопроходящим: я в курсе, что говнокод, но у автора не лучше, да и я не в ответах пишу
Денис Юрьев, Warning: mysqli::__construct(): (HY000/2002): Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. in C:\MAMP\htdocs\check.php on line 21
Warning: mysqli::query(): Couldn't fetch mysqli in C:\MAMP\htdocs\check.php on line 22
Денис Юрьев, ошибка то понятна,только вот но:
если это те логин,пароль про которые вы пишите.
Денис Юрьев, два раза мимо
printf("Mysql connect error: %s\n", $mysqli->connect_error); - это говнокод из прошлого века
до сих пор тыщи сайтов светят своими кишками наружу из-за него.
вместо этого надо перед соединением написать mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
во-вторых, ошибка "конечный компьютер отверг " не имеет никакого отношения ни к логинам, ни к паролям, ни вообще к базе данных. это тупо проблема соединения. в нормальном мире это файрволл, а здесь я даже не знаю. возможно север БД тупо не установлен
Удаленные соединения с серверов
Также необходимо проверить, разрешены ли удаленные соединения с серверов. Это можно сделать в SQL Server Management Studio в свойствах сервера на вкладке «Соединения», параметр «Разрешить удаленные соединения с сервером» должен быть включен.
Доступность сервера по сети
Если данные для подключения верны, то следующим шагом будет, конечно же, проверка доступности сервера, так как если сервер физически недоступен, то все следующие проверки будут абсолютно бесполезны и ни к чему не приведут.
Если сервер недоступен, то Вы будете получать уже знакомую ошибку
«provider: TCP Provider, error: 25 – connection string is not valid»
Проверить доступность сервера можно стандартным способом, используя утилиту ping в командной строке.
Если сервер недоступен, то Вам необходимо настроить сеть, чтобы физический сервер, на котором располагается SQL Server, был доступен с компьютера, с которого Вы хотите подключиться.
Читайте также: