We are currently migrating servers (2005 to 2008) and our host backed up the SQL database and transferred it to the new server.
I have transferred the website files and changed the IP address in the connection string and the global.asa file.
So technically speaking we have a mirror image on the new server, but when I try to launch a page that connects to the SQL I get the following error.
SQL_Server_does_not_exist_or_access_denied.
radbyx
9,21220 gold badges82 silver badges124 bronze badges
asked Jan 11, 2011 at 13:07
Check your TCP/IP Port is enabled or not
To check it:
— Open SQL Server Configuration Manager from start program.
— Expand SQL Server Network Configuration
— Click on Protocols for XXXX
— Right Click on TCP/IP and open properties
— Enable TCP/IP
— In IP Address Tab, Set Port 1433 in the last option (IPAll)
answered Sep 10, 2018 at 10:06
Nitin PNitin P
2813 silver badges3 bronze badges
3
The error message in this case is very likely correct. First, verify that the network path from you to the new server works and you can connect with the specified userid/pwd.
1) Open Management Studio and attempt to connect to the SQL Server instance by ip address. (By the way, you will probably need to use a SQL Server userid/pwd if you aren’t already since you’re on an Internet host and there is very likely no AD context for Windows auth.)
2) If you can indeed connect to the instance and your database using Management Studio then you’ve probably missed a connection string somewhere. Try to maintain only 1 location for said connection string, usually in a config file. Examine the error line reported in detail to discover which connectionstring is being used and to verify that it reflects the new server ip.
answered Jan 11, 2011 at 13:14
TahbazaTahbaza
9,4412 gold badges25 silver badges39 bronze badges
0
This same error also occurs when a cloned server’s IP is not configured correctly in SQL Config —> TCP/IP connection.
With misconfigured IP in SQL TCP/IP config does let you:
- connect from client machine using server name using ODBC connection
- connect using TELNET with 1433 port number with sever name
This happens when the server is cloned from another SQL server which carries the SQL IP config from the primary server as residue.
But client applications fail to connect using connection strings though using the server name with the following message:
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied
Do the following to verify on the SQL Server:
- Note the IP of the server itself (probably admins updated the machine’s IP after cloning the box) by doing IPCONFIG
- Open SQL Server Configuration Manager
- Expand SQL Server Network Configuration
- Select Protocols for MSSQLSERVER
- Double click TCP/IP on the right
- Switch to IP Addresses tab
- Scroll down to IPv4 section to verify if it is the same as the IP address of the machine itself. Fix the IP, if it is not. If it is correct this is not the issue.
answered Apr 23, 2014 at 19:47
user836107user836107
1891 silver badge9 bronze badges
1
I experienced this issue as well when setting up an installation on a new computer.
The connection problem I experienced was due to a firewall setting on the server that hosts MSSQL. The setting gave individual IP addresses access to it which ‘works’ in our environment since IP addresses are described by our administrator as ‘sticky’. Once the Firewall access was granted to my new machine’s IP address, the PHP odbc_connect(...)
statement I was running in my local WAMP setup completed immediately.
As with many problems, there is probably more than one way to run into them, but I wanted to be as explicit as possible about how I experienced it.
This probably would have been a little more clear if I had my own installation of MSSQL management studio on my PC but I do not.
Of the Inbound rules on the server housing MSSQL, I found a rule referring to the MSSQL instance and sure enough found the IP address of my old machine there underneath the properties tab «Scope» as a «Remote IP address». Here’s to hoping I remember this whenever I get my next machine! (The decommissioned PC’s IP has been removed)
@Darren, if you could leave a comment under the answer you accepted, it might be nice to know which of @Tahbaza’s suggestions led you to your resolution.
answered Sep 24, 2013 at 15:16
veeTrainveeTrain
2,9152 gold badges25 silver badges43 bronze badges
I experienced this problem when connecting from Qt to Microsoft SQL Server 2014 running also on my computer …
I used the following QODBC connection string:
db.setDatabaseName("Driver={SQL Server};Server=DESKTOP-F6T7JPD\sql_Instance_Name;Database=master;Uid=sa;Pwd=your_pwd;");
I only suffered 2 issues:
-
identifying what to use for Server, this must be the Server Name as configured on SQL server instance, this can be found by opening «MicrosoftSql2014 management Studio», then by looking at properties I found the name (
DESKTOP-F6T7JPDsql_Instance_Name
) -
the second issue actually is that this name must be modified by adding another back slash
between my PC name and the instance name
so the name found on management studio will be like:PC_NameSql_Instance
.
Note the «», … this must be put asPc_Name\Sql_Instance
.
Note the\
between PC name and Instance Name!
Richard
1,28912 silver badges25 bronze badges
answered Jun 29, 2017 at 21:55
Mohammad KananMohammad Kanan
4,33510 gold badges22 silver badges45 bronze badges
Are the credentials for your database configured to use SQL users and logins instead of Windows users and logins?
If so, you may need to remap the SQL users in the database to the SQL logins on the server. To scan to see if you have this problem, you can use EXEC sp_change_users_login 'Report'
. The 'Auto_Fix'
option will automatically correct issues the system finds. You can also run ALTER USER $User WITH LOGIN $Login
to manually correct each mapping individually.
http://technet.microsoft.com/en-us/library/ms174378.aspx
The issue is caused because the SIDs generated for the SQL user in the database on the old server don’t match the SIDs for the SQL logins on the new database. The stored procedure corrects the discrepancy.
answered Apr 23, 2014 at 19:58
Bacon BitsBacon Bits
30k5 gold badges56 silver badges63 bronze badges
One possible cause is that the server is not running. If you cannot connect even in the Management Studio, check that the SQL Server service is Started and it has been configured as Automatic so that is is started at boot.
answered Sep 21, 2020 at 5:58
VLLVLL
9,2951 gold badge28 silver badges54 bronze badges
If you have access denied error while connecting to SQL server then make sure under SQL server network configuration there are protocols for TCP/IP are enabled.
Please see below screen shot
vimuth
4,61124 gold badges72 silver badges112 bronze badges
answered Aug 2, 2022 at 6:14
1
In my case, the service «SQLBrowser» was disabled.
I just re-enabled it and works fine now.
answered Oct 20, 2022 at 16:03
We are currently migrating servers (2005 to 2008) and our host backed up the SQL database and transferred it to the new server.
I have transferred the website files and changed the IP address in the connection string and the global.asa file.
So technically speaking we have a mirror image on the new server, but when I try to launch a page that connects to the SQL I get the following error.
SQL_Server_does_not_exist_or_access_denied.
radbyx
9,21220 gold badges82 silver badges124 bronze badges
asked Jan 11, 2011 at 13:07
Check your TCP/IP Port is enabled or not
To check it:
— Open SQL Server Configuration Manager from start program.
— Expand SQL Server Network Configuration
— Click on Protocols for XXXX
— Right Click on TCP/IP and open properties
— Enable TCP/IP
— In IP Address Tab, Set Port 1433 in the last option (IPAll)
answered Sep 10, 2018 at 10:06
Nitin PNitin P
2813 silver badges3 bronze badges
3
The error message in this case is very likely correct. First, verify that the network path from you to the new server works and you can connect with the specified userid/pwd.
1) Open Management Studio and attempt to connect to the SQL Server instance by ip address. (By the way, you will probably need to use a SQL Server userid/pwd if you aren’t already since you’re on an Internet host and there is very likely no AD context for Windows auth.)
2) If you can indeed connect to the instance and your database using Management Studio then you’ve probably missed a connection string somewhere. Try to maintain only 1 location for said connection string, usually in a config file. Examine the error line reported in detail to discover which connectionstring is being used and to verify that it reflects the new server ip.
answered Jan 11, 2011 at 13:14
TahbazaTahbaza
9,4412 gold badges25 silver badges39 bronze badges
0
This same error also occurs when a cloned server’s IP is not configured correctly in SQL Config —> TCP/IP connection.
With misconfigured IP in SQL TCP/IP config does let you:
- connect from client machine using server name using ODBC connection
- connect using TELNET with 1433 port number with sever name
This happens when the server is cloned from another SQL server which carries the SQL IP config from the primary server as residue.
But client applications fail to connect using connection strings though using the server name with the following message:
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied
Do the following to verify on the SQL Server:
- Note the IP of the server itself (probably admins updated the machine’s IP after cloning the box) by doing IPCONFIG
- Open SQL Server Configuration Manager
- Expand SQL Server Network Configuration
- Select Protocols for MSSQLSERVER
- Double click TCP/IP on the right
- Switch to IP Addresses tab
- Scroll down to IPv4 section to verify if it is the same as the IP address of the machine itself. Fix the IP, if it is not. If it is correct this is not the issue.
answered Apr 23, 2014 at 19:47
user836107user836107
1891 silver badge9 bronze badges
1
I experienced this issue as well when setting up an installation on a new computer.
The connection problem I experienced was due to a firewall setting on the server that hosts MSSQL. The setting gave individual IP addresses access to it which ‘works’ in our environment since IP addresses are described by our administrator as ‘sticky’. Once the Firewall access was granted to my new machine’s IP address, the PHP odbc_connect(...)
statement I was running in my local WAMP setup completed immediately.
As with many problems, there is probably more than one way to run into them, but I wanted to be as explicit as possible about how I experienced it.
This probably would have been a little more clear if I had my own installation of MSSQL management studio on my PC but I do not.
Of the Inbound rules on the server housing MSSQL, I found a rule referring to the MSSQL instance and sure enough found the IP address of my old machine there underneath the properties tab «Scope» as a «Remote IP address». Here’s to hoping I remember this whenever I get my next machine! (The decommissioned PC’s IP has been removed)
@Darren, if you could leave a comment under the answer you accepted, it might be nice to know which of @Tahbaza’s suggestions led you to your resolution.
answered Sep 24, 2013 at 15:16
veeTrainveeTrain
2,9152 gold badges25 silver badges43 bronze badges
I experienced this problem when connecting from Qt to Microsoft SQL Server 2014 running also on my computer …
I used the following QODBC connection string:
db.setDatabaseName("Driver={SQL Server};Server=DESKTOP-F6T7JPD\sql_Instance_Name;Database=master;Uid=sa;Pwd=your_pwd;");
I only suffered 2 issues:
-
identifying what to use for Server, this must be the Server Name as configured on SQL server instance, this can be found by opening «MicrosoftSql2014 management Studio», then by looking at properties I found the name (
DESKTOP-F6T7JPDsql_Instance_Name
) -
the second issue actually is that this name must be modified by adding another back slash
between my PC name and the instance name
so the name found on management studio will be like:PC_NameSql_Instance
.
Note the «», … this must be put asPc_Name\Sql_Instance
.
Note the\
between PC name and Instance Name!
Richard
1,28912 silver badges25 bronze badges
answered Jun 29, 2017 at 21:55
Mohammad KananMohammad Kanan
4,33510 gold badges22 silver badges45 bronze badges
Are the credentials for your database configured to use SQL users and logins instead of Windows users and logins?
If so, you may need to remap the SQL users in the database to the SQL logins on the server. To scan to see if you have this problem, you can use EXEC sp_change_users_login 'Report'
. The 'Auto_Fix'
option will automatically correct issues the system finds. You can also run ALTER USER $User WITH LOGIN $Login
to manually correct each mapping individually.
http://technet.microsoft.com/en-us/library/ms174378.aspx
The issue is caused because the SIDs generated for the SQL user in the database on the old server don’t match the SIDs for the SQL logins on the new database. The stored procedure corrects the discrepancy.
answered Apr 23, 2014 at 19:58
Bacon BitsBacon Bits
30k5 gold badges56 silver badges63 bronze badges
One possible cause is that the server is not running. If you cannot connect even in the Management Studio, check that the SQL Server service is Started and it has been configured as Automatic so that is is started at boot.
answered Sep 21, 2020 at 5:58
VLLVLL
9,2951 gold badge28 silver badges54 bronze badges
If you have access denied error while connecting to SQL server then make sure under SQL server network configuration there are protocols for TCP/IP are enabled.
Please see below screen shot
vimuth
4,61124 gold badges72 silver badges112 bronze badges
answered Aug 2, 2022 at 6:14
1
In my case, the service «SQLBrowser» was disabled.
I just re-enabled it and works fine now.
answered Oct 20, 2022 at 16:03
#1 24 февраля 2012 11:41:44 (изменено: Антон Мороков, 27 марта 2012 12:00:50)
- Антон Мороков
- Партнеры
- Неактивен
- Откуда: Самара
- На форуме с 4 апреля 2011
- Сообщений: 209
Тема: Ошибка при подключении клиентов к SQL серверу
Ошибка возникает при подключении компьютера-клиента к SQL серверу (при попытке выбрать нужную базу в окне входа в TechnologiCS).
Текст ошибки:
SQL Server Error: [DBNETLIB][Connection Open (Connect()).] SQL сервер не существует, или доступ запрещен
Ошибка возникает на SQL серверах ExpressEdition т.к. по умолчанию сетевой режим работы у них отключен.
Проблема известна давно, даже была создана тема по этому поводу (https://forum.technologics.ru/topic973.html), но указанный там REG файл не помог, по крайней мере для SQL Server 2008 R2, поэтому для включения сетевых возможносетй необходимо провести следующие действия:
1) Из меню «Пуск» запустить «Диспетчер конфигурации SQL Server» (SQL Server Configuration Manager), перейти в ветку «Службы SQL Server» и выполнить настройку сервиса «Браузер SQL Server» вызвав его свойства.
2) На вкладке «Вход» в свойствах этого сервиса, установить опцию «Встроенная учетная запись» со значением «Локальная служба», в этом же окне на вкладке «Служба» установить тип запуска службы «Авто»
3) После сохранения установленных параметров необходимо произвести запуск(перезапуск) сервиса «Браузер SQL Server».
3) Далее в «Диспетчере конфигурации SQL Server» перейти на ветку «Сетевая конфигурация SQL Server» (SQL Server Network Configuration) -> «Протоколы для ….» (Protocols for …)
4) В левой части окна будет список протоколов, необходимо включить протокол TCP/IP.
5) После этих манипуляций необходимо произвести перезапуск службы SQL Server. Это можно сделать из диспетчера конфигураций SQL Server-а. (Делается это аналогичто запуску(перезапуску) службы «Браузер SQL Server»)
6) Также необходимо убедиться в том, что у вас стоит смешанная проверка подлинности (SQL Server и Windows)
Для этого необходимо запустить «Среду SQL Server Management Studio», авторизоваться и в свойствах своего SQL Servera, на закладке «Безопасность» убедиться в этом. См.скрин.
7) Если тип проверки подлиности менялся , то необходимо выполнить перезапуск SQL Servera. См. скрин.
Также проверьте, что установленный брадмауэр отключен (хотя бы на время манипуляций, дыбы исключить его из возможных виновников возникновения данной ошибки)
Если включенный брандмауэр будет мешать получить доступ к SQL Server, необходим добавить SQL Server в исключения. Исполняемый файл который необходимо добавить в исключения находиться по следующему пути: «C:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLBinnsqlservr.exe
(путь может видоизменяться, но исполняемый файл всегда sqlservr.exe)
Далее приведу серию скриншотов:
Служба «Браузер SQL Server»
Настройка службы «Браузер SQL Server»
Настройка запуска службы «Браузер SQL Server»
Запуск / перезапуск службы «Браузер SQL Server»
Вызов свойств SQL Server из Среды SQL Server Management Studio
Смешанный тип проверки подлинности включен
Перезапуск SQL Server из Среды SQL Server Management Studio
Спасибо сказали: Олег Зырянов, Денис Подмарев2
Post’s attachments
2.jpg 59.29 Кб, файл не был скачан.
3.jpg 68.72 Кб, файл не был скачан.
4.jpg 65.84 Кб, файл не был скачан.
5.jpg 62.55 Кб, файл не был скачан.
6.jpg 38.03 Кб, файл не был скачан.
7.jpg 75.62 Кб, файл не был скачан.
8.jpg 32.61 Кб, файл не был скачан.
You don’t have the permssions to download the attachments of this post.
#2 Ответ от Олег Зырянов 27 февраля 2012 11:03:16
- Олег Зырянов
- Технический руководитель
- Неактивен
- Откуда: Новосибирск
- На форуме с 10 декабря 2008
- Сообщений: 4,183
Re: Ошибка при подключении клиентов к SQL серверу
замечу только
… На вкладке «Вход» в свойствах этого сервиса, установить опцию «Встроенная учетная запись» со значением «Локальная служба»…
Без особой надобности данную настройку не меняйте ( по соображениям безопасности ).
pat_askiz 0 / 0 / 0 Регистрация: 07.08.2015 Сообщений: 9 |
||||
1 |
||||
MS SQL 21.03.2017, 08:26. Показов 53270. Ответов 14 Метки sql server (Все метки)
Привет Всем уважаемые форумчане! Вопрос такой, у себя на ПК (На котором пишу программу) — запускаю свою программу, спокойно всё подключается, копирую прогу на другой пк в той же сети выдает ошибку: ИНФА:
До этого использовал IniFile с параметрами Подключаюсь к серверной машинке Windows Server 2008 На своем ПК захожу на серверную машинку через Microsoft SQL Server Management Studio — спокойно! Даже установил sqlncli на клиентские машинки — результата ноль!
__________________
0 |
1039 / 855 / 335 Регистрация: 08.12.2016 Сообщений: 3,283 |
|
21.03.2017, 10:20 |
2 |
дабл клик по udl-файлу на том компе и попытайтесь настроить и подключиться прямо «оттуда».
0 |
0 / 0 / 0 Регистрация: 07.08.2015 Сообщений: 9 |
|
21.03.2017, 10:23 [ТС] |
3 |
Да подключается спокойно, на всех пк в сети, вот через написанную программу не хочет подключатся
0 |
1039 / 855 / 335 Регистрация: 08.12.2016 Сообщений: 3,283 |
|
21.03.2017, 10:36 |
4 |
понял, что суть не понял При первом прочтении мне примерещилось, что только на одном компе не работает, а на остальных все ок.
0 |
0 / 0 / 0 Регистрация: 07.08.2015 Сообщений: 9 |
|
21.03.2017, 10:49 [ТС] |
5 |
YuryK, да именно так, через ConnectionString ‘FILE NAME=’ + … у меня и на сервере работает (Работает именно там где установлен SQL Server, на серверном пк Standart а на моем Exspress) на остальных нет, но через udl они все подключаются На сервере могу посмотреть БД от моего пк и наоборот на моем пк могу посмотреть его БД… Добавлено через 1 минуту
0 |
0 / 0 / 0 Регистрация: 07.08.2015 Сообщений: 9 |
|
21.03.2017, 11:20 [ТС] |
6 |
Подключение по udl (Native и SQL Server): Подключается и по имени пк сервера и по IP — без проблем на всех пк в сети
0 |
0 / 0 / 0 Регистрация: 07.08.2015 Сообщений: 9 |
|
21.03.2017, 11:33 [ТС] |
7 |
Кстати подключение идет из Код procedure TFormLogin.FormActivate(Sender: TObject); Подключаюсь через свою программу на других пк: Миниатюры
0 |
0 / 0 / 0 Регистрация: 07.08.2015 Сообщений: 9 |
|
22.03.2017, 06:10 [ТС] |
8 |
РЕШИЛ ПРОБЛЕМУ! Теперь соединяется на всех машинках и даже без sqlncli по SQLOLEDB.1. И еще, вот думаю соединятся все-таки по IniFile прописав там только IP а остальное в программе (Пользователь, пароль, провайдер) — так-как в udl в открытой форме хранятся пароли и пользователи, как думаете Вы насчет этого? Хотелось бы знать Изображения
0 |
1039 / 855 / 335 Регистрация: 08.12.2016 Сообщений: 3,283 |
|
22.03.2017, 07:00 |
9 |
так-как в udl в открытой форме хранятся пароли и пользователи, вы их туда занесли поставив крыжик в «разрешить сохранение пароля», а так его (пароля) там быть не должно. Добавлено через 2 минуты
0 |
0 / 0 / 0 Регистрация: 07.08.2015 Сообщений: 9 |
|
22.03.2017, 07:28 [ТС] |
10 |
вы их туда занесли поставив крыжик в «разрешить сохранение пароля», а так его (пароля) там быть не должно. Я в курсе, но без этого не соединяется, пишет, что-то типо «ошибка пользователя» А Login Promp должен быть тогда True. Пароль надо или вводить. Или хранить. Или использовать Windows аутентификацию. Тогда у меня будет двойная авторизация — мне этого не нужно, так-как у меня уже есть форма авторизации… Во всяко случае, обычные пользователи не должны работать под логином sa. Времени нет, сейчас работаю на автоматическим обновлением программы, да и под sa думаю ничего страшного не случится — многие программы видел под sa. Самое главное, что пользователи уже в системе
0 |
1039 / 855 / 335 Регистрация: 08.12.2016 Сообщений: 3,283 |
|
22.03.2017, 07:57 |
11 |
так-как у меня уже есть форма авторизации. и те логины и пароли не имеют отношения с серверным? Типа хранятся в таблицах базы? В открытом виде?
0 |
0 / 0 / 0 Регистрация: 07.08.2015 Сообщений: 9 |
|
22.03.2017, 08:11 [ТС] |
12 |
и те логины и пароли не имеют отношения с серверным? Нет они прописаны отдельно
0 |
1039 / 855 / 335 Регистрация: 08.12.2016 Сообщений: 3,283 |
|
22.03.2017, 08:14 |
13 |
Нет они прописаны отдельно даже не в базе? В ини-файле рядом с программой?
0 |
0 / 0 / 0 Регистрация: 07.08.2015 Сообщений: 9 |
|
22.03.2017, 08:18 [ТС] |
14 |
даже не в базе? В ини-файле рядом с программой? Никогда не хранил пароли в ини файле
0 |
1039 / 855 / 335 Регистрация: 08.12.2016 Сообщений: 3,283 |
|
22.03.2017, 08:18 |
15 |
а остальное в программе (Пользователь, пароль, провайдер) в таком случае это будет лучший вариант. Для взлома придется приложить хоть какие-то усилия Причем хранить не константой, собирать из символов других констант.
0 |
- Remove From My Forums
-
Question
-
I have a app created using VS 2005 with SQL 2005. I upgrade to VS 2008 but didn’t deploy because there were no changes requested. I got a request last week and made the changes. On my development machine everything worked fine. I did the release of all the pages and the .dlls so all the upgraded code was there. Now the user can log in and get to a reporting section but when they go to export the report into excel we get this error
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.
It seems to error using the same connection that the user used to get into the app so I don’t know why now its being denied. I’m using adodb.dll to connect this time.
Thank you for any help. Let me know if I didn’t put enough information.
Answers
-
I went into the surface area configuration and set the remote connections to both TCP/IP and Named Pipes and restarted the server. It worked
thanks for your reply
Я также столкнулся с этой проблемой при настройке установки на новый компьютер.
Проблема с подключением, с которой я столкнулся, была связана с настройкой брандмауэра на сервере, на котором размещен MSSQL. Эта настройка предоставила доступ к отдельным IP-адресам, что «работает» в нашей среде, поскольку IP-адреса описываются нашим администратором как «липкие». Как только IP-адрес моего нового компьютера получил доступ к брандмауэру, PHP odbc_connect(...)
заявление, которое я запускал в своей локальной настройке WAMP, было завершено немедленно.
Как и со многими другими проблемами, вероятно, есть несколько способов столкнуться с ними, но я хотел как можно более подробно рассказать о том, как я это испытал.
Это, вероятно, было бы немного яснее, если бы у меня была собственная установка студии управления MSSQL на моем ПК, но у меня ее нет.
Из правил для входящих подключений на сервере, содержащем MSSQL, я нашел правило, относящееся к экземпляру MSSQL, и, конечно же, нашел IP-адрес моей старой машины там под вкладкой свойств «Область» как «Удаленный IP-адрес». Надеюсь, я запомню это всякий раз, когда получу свою следующую машину! (IP выведенного из эксплуатации компьютера был удален)
@ Даррен, если бы вы могли оставить комментарий под ответом, который вы приняли, было бы неплохо узнать, какое из предложений @Tahbaza привело вас к вашему решению.