Ошибка подключения к sql серверу сервер не существует

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's user avatar

radbyx

9,30221 gold badges84 silver badges127 bronze badges

asked Jan 11, 2011 at 13:07

Darren Cook's user avatar

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 P's user avatar

Nitin PNitin P

2913 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

Tahbaza's user avatar

TahbazaTahbaza

9,4882 gold badges26 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:

  1. connect from client machine using server name using ODBC connection
  2. 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:

  1. Note the IP of the server itself (probably admins updated the machine’s IP after cloning the box) by doing IPCONFIG
  2. Open SQL Server Configuration Manager
  3. Expand SQL Server Network Configuration
  4. Select Protocols for MSSQLSERVER
  5. Double click TCP/IP on the right
  6. Switch to IP Addresses tab
  7. 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

user836107's user avatar

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

veeTrain's user avatar

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:

  1. 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)

  2. 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 as Pc_Name\Sql_Instance.
    Note the \ between PC name and Instance Name!

Richard's user avatar

Richard

1,28912 silver badges25 bronze badges

answered Jun 29, 2017 at 21:55

Mohammad Kanan's user avatar

Mohammad KananMohammad Kanan

4,38210 gold badges23 silver badges47 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 Bits's user avatar

Bacon BitsBacon Bits

30.5k5 gold badges58 silver badges66 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

VLL's user avatar

VLLVLL

9,5211 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

1

vimuth's user avatar

vimuth

4,95630 gold badges78 silver badges115 bronze badges

answered Aug 2, 2022 at 6:14

Sunil Dound's user avatar

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

martigej's user avatar

‘SQL Server does not exist or access denied’ is a general Microsoft Data Access Components (MDAC) message that indicates that the computer running Microsoft SQL Server is not reachable.

Here at Bobcares, we have seen several such SQL related issues as part of our Server Management Services for web hosts and online service providers.

Today we’ll take a look at the cause for this error and see how to fix it.

What causes ‘SQL Server does not exist or access denied’ error to occur

This error occurs due to various reasons that include a server or client-related reasons. They are as below:

Server related issues:

If none of the client machines are able to access the SQL server, then there is an issue in the server end itself. Some of the problems from the server end are as below:

  • Installation of the SQL server is not done in the computer that is specified in the connection string.
  • SQL Server is not started.
  • The SQL Server name is different from the name of the computer.
  • The database is offline.
  • Renaming of database files.
  • The database is moved to a new server.

Client related issues:

If one specific client or a few clients are not able to access the SQL Server then the issue is on the client-side itself. Some of the problems from the client end are as below:

  • In-existence of the name of the computer on the SQL Server
  • Ensure to specify the correct occurrence name if you are trying to access a named occurrence of SQL Server.
  • Using incorrect protocol.
  • The presence of any cluster in SQL Server may lead the network adapters to get configured incorrectly or might have an incorrect name.
  • It might just be the side effect of an MDAC mismatch.

How we fix ‘SQL Server does not exist or access denied’ error

Now let’s see how we can resolve this error.

1. If the firewall on the server is blocking any incoming connections then check the firewall settings for the server operating system. However, in case if it is enabled then verify the port number the SQL Server is using is open in the firewall. Also, verify the UDP port 1434(if you are using dynamic ports).

2. Check whether the TCP/IP and Named Pipes are enabled or not using the SQL Server configuration tools.

3. Ensure that the database is attached and online. If not, then attach the database. In case, if the database is offline then bring it online.

4. Verify that the SQL Server service is started. Also, verify that the SQL Server Browser service is started on the application server if using a dynamic port for SQL Server.

[Need any further assistance in fixing SQL errors? – We’re available 24*7]

Conclusion

In short, this error occurs when the computer running Microsoft SQL Server is not reachable. Today, we saw how to fix this SQL error.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

var google_conversion_label = «owonCMyG5nEQ0aD71QM»;

  • Ошибка: Невозможно подключиться к этому серверу данных…SQL Server не существует или доступ запрещен.
  • Ошибка: Не удается генерировать контекст SSPI
  • Ошибка: Недопустимое имя пользователя
  • Ошибка: Не удалось выполнить вход. Имя пользователя относится к неподтвержденному домену и не может быть использовано для аутентификации Windows.
  • Ошибка: Предпринята попытка подключения с использованием более старой версии клиента связи с SQL Server, которая несовместима с сервером баз данных SQL Server.

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

Ошибка: Невозможно подключиться к этому серверу данных…SQL Server не существует или доступ запрещен.

Возможные причины получения этого сообщения об ошибке:

  • Экземпляр SQL Server Express не работает.
  • Ваша учетная запись пользователя никогда не добавлялась на сервер баз данных, или она была удалена с сервера баз данных.
  • Протокол сети не настроен на экземпляр SQL Server Express; поэтому удаленные клиенты не могут подключаться к экземпляру по сети.
  • Браузер SQL Server отключен, клиент не получит информацию об именах экземпляров и номерах портов, которые используются в каждом установленном экземпляре SQL Server.

Решение:

Прежде всего, убедитесь, что сервер баз данных, к которому вы пытаетесь подключиться, работает. Если это так, убедитесь, что у вас достаточно прав для удаленного доступа к серверу баз данных. Если сервер баз данных запущен, и у вас есть права на подключение и выполнение запросов к серверу, сетевые протоколы, возможно, могут быть не включены на сервере баз данных. Следуйте инструкциям в справке Microsoft SQL Server для повторной активации протоколов сети.

Если сетевые протоколы активированы, но вы по-прежнему не можете подключиться к серверу баз данных из удаленного клиента, возможно, не работает сервис Браузер SQL Server. Следуйте инструкциям в справке Microsoft SQL Server для запуска сервиса Браузера SQL Server.

Ошибка: Не удается генерировать контекст SSPI

Возможные причины получения сообщения об ошибке:

Эта ошибка чаще всего возникает, когда вы работаете на ноутбуке и авторизуетесь с использованием доменной учетной записи, но в действительности не подключены к вашему домену. Это может происходить, когда вы выполняете вход на стороне клиента (а не в вашей сети) или используете ваш ноутбук, когда не подключены к сети, например, в полевых условиях. Это связано с особенностями протокола TCP/IP и авторизацией в операционной системе Microsoft Windows. Вы можете также посетить веб-сайт Microsoft для просмотра статьи базы знаний о решении проблем при получении сообщения об ошибке ‘Cannot generate SSPI context’.

Решение:

Произведите подключение к серверу баз данных на локальном компьютере (с помощью команды Добавить сервер баз данных) с помощью протокола TCP/IP на адрес 127.0.0.1 вместо имени домена; например: 127.0.0.1sqlexpress.

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

Ошибка: Недопустимое имя пользователя

Возможные причины получения сообщения об ошибке:

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

Решение:

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

Ошибка: Не удалось выполнить вход. Имя пользователя относится к неподтвержденному домену и не может быть использовано для аутентификации Windows.

Возможные причины получения этого сообщения об ошибке:

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

Решение:

Авторизуйтесь на клиентском компьютере, используя доменную учетную запись, которую администратор сервера добавил на сервере баз данных.

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

Причина получения этого сообщения об ошибке:

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

Решение:

Установите на клиентском компьютере поддерживаемую версию SQL Server с драйвером ODBC и убедитесь, что она совместима с используемой версией SQL Server Express.

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's user avatar

radbyx

9,20220 gold badges82 silver badges124 bronze badges

asked Jan 11, 2011 at 13:07

Darren Cook's user avatar

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 P's user avatar

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

Tahbaza's user avatar

TahbazaTahbaza

9,4312 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:

  1. connect from client machine using server name using ODBC connection
  2. 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:

  1. Note the IP of the server itself (probably admins updated the machine’s IP after cloning the box) by doing IPCONFIG
  2. Open SQL Server Configuration Manager
  3. Expand SQL Server Network Configuration
  4. Select Protocols for MSSQLSERVER
  5. Double click TCP/IP on the right
  6. Switch to IP Addresses tab
  7. 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

user836107's user avatar

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

veeTrain's user avatar

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-F6T7JPDsql_Instance_Name;Database=master;Uid=sa;Pwd=your_pwd;");

I only suffered 2 issues:

  1. 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)

  2. 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 as Pc_NameSql_Instance.
    Note the between PC name and Instance Name!

Richard's user avatar

Richard

1,28912 silver badges25 bronze badges

answered Jun 29, 2017 at 21:55

Mohammad Kanan's user avatar

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 Bits's user avatar

Bacon BitsBacon Bits

30k5 gold badges55 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

VLL's user avatar

VLLVLL

9,2851 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

1

vimuth's user avatar

vimuth

4,60123 gold badges72 silver badges112 bronze badges

answered Aug 2, 2022 at 6:14

Sunil Dound's user avatar

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

martigej's user avatar

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's user avatar

radbyx

9,20220 gold badges82 silver badges124 bronze badges

asked Jan 11, 2011 at 13:07

Darren Cook's user avatar

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 P's user avatar

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

Tahbaza's user avatar

TahbazaTahbaza

9,4312 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:

  1. connect from client machine using server name using ODBC connection
  2. 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:

  1. Note the IP of the server itself (probably admins updated the machine’s IP after cloning the box) by doing IPCONFIG
  2. Open SQL Server Configuration Manager
  3. Expand SQL Server Network Configuration
  4. Select Protocols for MSSQLSERVER
  5. Double click TCP/IP on the right
  6. Switch to IP Addresses tab
  7. 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

user836107's user avatar

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

veeTrain's user avatar

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-F6T7JPDsql_Instance_Name;Database=master;Uid=sa;Pwd=your_pwd;");

I only suffered 2 issues:

  1. 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)

  2. 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 as Pc_NameSql_Instance.
    Note the between PC name and Instance Name!

Richard's user avatar

Richard

1,28912 silver badges25 bronze badges

answered Jun 29, 2017 at 21:55

Mohammad Kanan's user avatar

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 Bits's user avatar

Bacon BitsBacon Bits

30k5 gold badges55 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

VLL's user avatar

VLLVLL

9,2851 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

1

vimuth's user avatar

vimuth

4,60123 gold badges72 silver badges112 bronze badges

answered Aug 2, 2022 at 6:14

Sunil Dound's user avatar

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

martigej's user avatar

#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. См. скрин.
8) Также проверьте, что установленный брадмауэр отключен (хотя бы на время манипуляций, дыбы исключить его из возможных виновников возникновения данной ошибки)
Если включенный брандмауэр будет мешать получить доступ к SQL Server, необходим добавить SQL Server в исключения. Исполняемый файл который необходимо добавить в исключения находиться по следующему пути: «C:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLBinnsqlservr.exe
(путь может видоизменяться, но исполняемый файл всегда sqlservr.exe)
Далее приведу серию скриншотов:

Служба «Браузер SQL Server»
Ошибка при подключении клиентов к SQL серверу

Настройка службы «Браузер SQL Server»
Ошибка при подключении клиентов к SQL серверу

Настройка запуска службы «Браузер SQL Server»
Ошибка при подключении клиентов к SQL серверу

Запуск / перезапуск службы «Браузер SQL Server»
Ошибка при подключении клиентов к SQL серверу

Вызов свойств SQL Server из Среды SQL Server Management Studio
Ошибка при подключении клиентов к SQL серверу

Смешанный тип проверки подлинности включен
Ошибка при подключении клиентов к SQL серверу

Перезапуск SQL Server из Среды SQL Server Management Studio
Ошибка при подключении клиентов к SQL серверу

Спасибо сказали: Олег Зырянов, Денис Подмарев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,179

Re: Ошибка при подключении клиентов к SQL серверу

замечу только

… На вкладке «Вход» в свойствах этого сервиса, установить опцию «Встроенная учетная запись» со значением «Локальная служба»…

Без особой надобности данную настройку не меняйте ( по соображениям безопасности ).

pat_askiz

0 / 0 / 0

Регистрация: 07.08.2015

Сообщений: 9

1

MS SQL

21.03.2017, 08:26. Показов 53027. Ответов 14

Метки sql server (Все метки)


Привет Всем уважаемые форумчане!

Вопрос такой, у себя на ПК (На котором пишу программу) — запускаю свою программу, спокойно всё подключается, копирую прогу на другой пк в той же сети выдает ошибку:
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server не существует, или доступ запрещен.

ИНФА:
Подключение: ADOConnection

Delphi
1
2
3
4
5
  DMMain.ADOConnection.Close;
  DMMain.ADOConnection.ConnectionString := 'FILE NAME=' +
    ReplaceText(Application.ExeName, '.exe', '.udl');
  DMMain.ADOConnection.Open();
  DMMain.ADOConnection.Connected := True;

До этого использовал IniFile с параметрами Provider=SQLOLEDB.1;Password=a123456A;Persist Security Info=True;User ID=sa;Initial Catalog=Base;Data Source='+ IP_ADR + ';';

Подключаюсь к серверной машинке Windows Server 2008
Установлен Microsoft SQL Server Standart
Брендмаузер настроен на порт 1433
TCP/IP на сервере включен

На своем ПК захожу на серверную машинку через Microsoft SQL Server Management Studio — спокойно!
На других машинках при подключении через файл .udl — подключается!

Даже установил sqlncli на клиентские машинки — результата ноль!
Как подключится? Что не так? Подскажите пожалуйста, уже 3-й день мучаюсь…

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

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

понял, что суть не понял
через udl подключается, а если в ConnectionString написать ‘FILE NAME=’ + … то нет, на всех компах, кроме вашего.

При первом прочтении мне примерещилось, что только на одном компе не работает, а на остальных все ок.

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);

Подключаюсь через свою программу на других пк:

Миниатюры

Ошибка подключения к SQL (SQL Server не существует, или доступ запрещен.)
 

0

0 / 0 / 0

Регистрация: 07.08.2015

Сообщений: 9

22.03.2017, 06:10

 [ТС]

8

РЕШИЛ ПРОБЛЕМУ!
В общем у меня оказывается в ADOConnection — Connected стояло в True и в ConnectionString уже был прописан провайдер…
Connected поставил в False и очистил ConnectionString.

Теперь соединяется на всех машинках и даже без sqlncli по SQLOLEDB.1.
Будьте повнимательней

И еще, вот думаю соединятся все-таки по IniFile прописав там только IP а остальное в программе (Пользователь, пароль, провайдер) — так-как в udl в открытой форме хранятся пароли и пользователи, как думаете Вы насчет этого? Хотелось бы знать
Или сделать отдельно Settings.exe и в нем сохранять настройки и каким-то образом соединятся?

Изображения

 

0

1039 / 855 / 335

Регистрация: 08.12.2016

Сообщений: 3,283

22.03.2017, 07:00

9

Цитата
Сообщение от pat_askiz
Посмотреть сообщение

так-как в udl в открытой форме хранятся пароли и пользователи,

вы их туда занесли поставив крыжик в «разрешить сохранение пароля», а так его (пароля) там быть не должно.
настройте udl заново без крыжика и пароля там не будет

Добавлено через 2 минуты
А Login Promp должен быть тогда True. Пароль надо или вводить. Или хранить. Или использовать Windows аутентификацию. Во всяко случае, обычные пользователи не должны работать под логином sa.

0

0 / 0 / 0

Регистрация: 07.08.2015

Сообщений: 9

22.03.2017, 07:28

 [ТС]

10

вы их туда занесли поставив крыжик в «разрешить сохранение пароля», а так его (пароля) там быть не должно.
настройте udl заново без крыжика и пароля там не будет

Я в курсе, но без этого не соединяется, пишет, что-то типо «ошибка пользователя»

А Login Promp должен быть тогда True. Пароль надо или вводить. Или хранить. Или использовать Windows аутентификацию.

Тогда у меня будет двойная авторизация — мне этого не нужно, так-как у меня уже есть форма авторизации…

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

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

Самое главное, что пользователи уже в системе

0

1039 / 855 / 335

Регистрация: 08.12.2016

Сообщений: 3,283

22.03.2017, 07:57

11

Цитата
Сообщение от pat_askiz
Посмотреть сообщение

так-как у меня уже есть форма авторизации.

и те логины и пароли не имеют отношения с серверным? Типа хранятся в таблицах базы? В открытом виде?

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

Цитата
Сообщение от pat_askiz
Посмотреть сообщение

Нет они прописаны отдельно

даже не в базе? В ини-файле рядом с программой?

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

Цитата
Сообщение от pat_askiz
Посмотреть сообщение

а остальное в программе (Пользователь, пароль, провайдер)

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

0

  • Ошибка: Невозможно подключиться к этому серверу данных…SQL Server не существует или доступ запрещен (Error: Cannot connect to this Data Server…SQL Server does not exist or access denied).
  • Ошибка: Не удается генерировать контекст SSPI (Cannot Generate SSPI Context)
  • Ошибка. Не удалось подключиться к базе данных. Базовая ошибка СУБД (Error: Failed to connect to database Underlying DBMS error) (Microsoft OLE DB Provider for SQL Server. Вход не выполнен для пользователя ‘<имя пользователя >’ (Login failed for user ‘<username>’). Пользователь не связан с доверенным подключением SQL Server (The user is not associated with a trusted SQL Server connection)/
  • Ошибка: Невозможно добавить класс пространственных объектов. <имя класса объектов > находится в режиме «только загрузка» и не может быть добавлен в качестве слоя в таком состоянии (<feature class name> is in load-only mode and cannot be added as a layer in this state).
  • Ошибка: Недопустимое имя пользователя (Error: Bad login user)
  • Ошибка: Не удалось выполнить вход (Error: Login failed). Имя пользователя относится к неподтвержденному домену и не может быть использовано для аутентификации средствами операционной системы (The login is from an untrusted domain and cannot be used with Windows authentication).
  • Ошибка: Предпринята попытка подключения с использованием более старой версии клиента связи с SQL Server, которая несовместима с сервером баз данных SQL Server (Error: Connection was attempted with an older version of SQL Server client communications software that is not compatible with the SQL Server database server).

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

Ошибка: Невозможно подключиться к этому серверу данных…SQL Server не существует или доступ запрещен (Error: Cannot connect to this Data Server…SQL Server does not exist or access denied).

Возможные причины получения сообщения об ошибке:

  • Если экземпляр SQL Server Express не был запущен, удаленный клиент не сможет его обнаружить.
  • Если учетная запись пользователя никогда не использовалась на сервере баз данных, или она была удалена с сервера баз данных, вы не сможете выполнять запросы или подключаться к нему.
  • Удаленные клиенты должны каким-то образом связываться с экземпляром SQL Server Express. Если сетевой протокол не будет настроен, то такой метод связи тоже будет не настроен, и не существует способа выполнить подключение к экземпляру сервера по сети.
  • Сервис SQL Server Browser предоставляет информацию об экземплярах SQL Server, установленных на компьютере, который получает запрос от клиента SQL Server. Если сервис SQL Browser выключен, клиент не получит информацию об именах экземпляров и номерах портов, которые они используют, и не сможет обнаружить экземпляр.

Решение:

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

  1. Откройте приложение Microsoft SQL Server Configuration Manager. Это можно сделать, последовательно щелкнув Пуск > Все программы > Microsoft SQL Server > Configuration Tools (Start > All Programs > Microsoft SQL Server > Configuration Tools).
  2. Разверните SQL Server Network Configuration в дереве и щелкните на протоколах, которые нужны для работы экземпляра SQL Server.
  3. Щелкните правой кнопкой мыши на протоколе TCP/IP и щелкните Включить (Enable).

Вы получите сообщение с предупреждением следующего содержания:

Any changes made will be saved; however, they will not take effect until the service is stopped and restarted.

Остановите и повторно запустите сервис. Если сетевые протоколы активированы, но вы по-прежнему не можете подключиться к серверу баз данных из удаленного клиента, возможно, не работает служба SQL Server Browser. Чтобы запустить службу SQL Server Browser:

  1. Откройте приложение Microsoft SQL Server Configuration Manager.
  2. Щелкните значок SQL Server, чтобы просмотреть состояние службы SQL Server Browser.
  3. Если служба SQL Server Browser приостановлена, щелкните на ней правой кнопкой мыши и выберите Возобновить (Resume). Если служба SQL Server Browser остановлена, щелкните на ней правой кнопкой мыши и выберите Запустить (Start).

Если все команды контекстного меню, кроме команд Свойства (Properties) и Справка (Help), неактивны при щелчке правой кнопкой мыши на службе SQL Server Browser, для режима запуска службы SQL Server Browser было указано Выключен (Disabled). Чтобы изменить эти настройки, сделайте следующее:

  1. Щелкните правой кнопкой мыши на службе SQL Server Browser и выберите Свойства (Properties).
  2. Перейдите на закладку Служба (Service).
  3. Щелкните Режим запуска (Start Mode).
  4. В раскрывающемся списке выберите один из пунктов: Автоматически (Automatic) или Вручную (Manual). Настройка режима запуска Автоматически (Automatic) означает, что сервис SQL Server Browser автоматически будет запускаться при перезапуске компьютера.
  5. Нажмите ОК.

Теперь при щелчке правой кнопкой мыши на службе SQL Server Browser значение Запустить (Start) должно стать доступным для выбора.

Ошибка: Не удается генерировать контекст SSPI (Cannot Generate SSPI Context)

Возможные причины получения сообщения об ошибке:

Эта ошибка чаще всего возникает, когда вы работаете на ноутбуке и авторизуетесь с использованием доменной учетной записи, но в действительности не подключены к вашему домену. Это может происходить, когда вы выполняете вход на стороне клиента (а не в вашей сети) или используете ваш ноутбук, когда не подключены к сети, например, в полевых условиях. Это связано с особенностями протокола TCP/IP и авторизацией в операционной системе Windows. Вы можете также посетить веб-сайт Microsoft для просмотра статьи базы знаний о решении проблем при получении сообщения об ошибке ‘Cannot generate SSPI context’.

Решение:

Произведите подключение к серверу баз данных на локальном компьютере (с помощью команды Добавить сервер баз данных (Add Database Server)) с помощью протокола TCP/IP на адрес 127.0.0.1 вместо имени домена; например: 127.0.0.1sqlexpress.

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

Ошибка. Не удалось подключиться к базе данных. Базовая ошибка СУБД (Error: Failed to connect to database Underlying DBMS error) (Microsoft OLE DB Provider for SQL Server. Вход не выполнен для пользователя ‘<имя пользователя >’ (Login failed for user ‘<username>’). Пользователь не связан с доверенным подключением SQL Server (The user is not associated with a trusted SQL Server connection)/

Возможные причины получения этого сообщения об ошибке:

Когда в системных переменных среды (System Environment Variables) заданы переменные среды SDEUSER или SDEPASSWORD, при подключении к базе геоданных они имеют приоритет над текущей учетной записью Windows. Не задавайте эти переменные, если вы собираетесь подключаться с этого компьютера к базе геоданных на сервере баз данных или к многопользовательской базе геоданных, используя аутентификацию средствами операционной системы.

Решение:

Убедитесь, что переменные среды SDEUSER или SDEPASSWORD не были созданы на вашей клиентской машине.

Ошибка: Невозможно добавить класс пространственных объектов. <имя класса объектов > находится в режиме «только загрузка» и не может быть добавлен в качестве слоя в таком состоянии (<feature class name> is in load-only mode and cannot be added as a layer in this state).

Возможные причины получения этого сообщения об ошибке:

Если для размера ячейки пространственного индекса для набора данных было указано 0, и его импорт в базу геоданных не был корректно завершен, то набор данных может остаться в состоянии только для загрузки (load-only). Для возврата класса пространственных объектов в обычный режим ввода/вывода (I/O) и продолжения работы с ним можно перестроить пространственный индекс или удалить и создать его заново.

Решение:

Перестройте или создайте заново пространственный индекс класса пространственных объектов.

  1. В дереве Каталога (Catalog) щелкните правой кнопкой мыши на классе объектов, который находится в режиме только для загрузки, выберите Свойства (Properties), затем перейдите на закладку Индексы (Indexes) в диалоговом окне Свойства класса пространственных объектов (Feature Class Properties).
  2. Если в вашем классе объектов для хранения геометрии используется тип SQL Server Geometry, вы можете перестроить индекс. В разделе Пространственный индекс (Spatial Index) нажмите Пересчитать (Recalculate). Если в вашем классе объектов для хранения геометрии используется бинарный тип (binary) или SQL Server Geography, создайте пространственный индекс заново. Нажмите Удалить (Delete) и затем Создать (Create) в разделе Пространственный индекс (Spatial Index), чтобы заново создать пространственный индекс.
  3. Нажмите OK, чтобы закрыть диалоговое окно Свойства класса объектов (Feature Class Properties).

Ошибка: Недопустимое имя пользователя (Error: Bad login user)

Возможные причины получения сообщения об ошибке:

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

Решение:

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

Ошибка: Не удалось выполнить вход (Error: Login failed). Имя пользователя относится к неподтвержденному домену и не может быть использовано для аутентификации средствами операционной системы (The login is from an untrusted domain and cannot be used with Windows authentication).

Возможные причины получения этого сообщения об ошибке:

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

Решение:

Авторизуйтесь на клиентском компьютере, используя доменную учетную запись, которую администратор сервера добавил на сервере баз данных.

Ошибка: Предпринята попытка подключения с использованием более старой версии клиента связи с SQL Server, которая несовместима с сервером баз данных SQL Server (Error: Connection was attempted with an older version of SQL Server client communications software that is not compatible with the SQL Server database server).

Причина получения этого сообщения об ошибке:

На клиентском компьютере, с которого выполняется подключение к базе геоданных, не установлена поддерживаемая версия Microsoft SQL Native Client.

Решение:

Установите на клиентском компьютере версию приложения SQL Native Client, совместимую с используемой версией SQL Server Express.

Отзыв по этому разделу?

Ошибка Microsoft SQL Server: 53 или ошибка Microsoft SQL Server: 11001 или ошибка SQL Server 53 и 40. Ошибки SQL server 53 и 17

Подробности ошибки:

Не удается подключиться к ошибке SQL Server, которая может быть номером ошибки: 11001 или номером ошибки: 53, серьезностью: 20, состоянием: 0 или ошибкой SQL Server 53 и 40. Ошибки SQL server 53 и 17

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

Ошибка подключения
Состояние SQL ‘01000’
Ошибка SQL Server 53
[microsoft] [драйвер ODBC SQL Server] [DBNETLIB]соединение открыто
Ошибка подключения
SQL State ‘ 08001
Ошибка SQL 17
[microsoft] [драйвер ODBC SQL Server] [DBNETLIB]SQL Server не существует или доступ запрещен.

(поставщик: поставщик именованных каналов, ошибка: 40-не удалось открыть соединение с SQL Server) (Microsoft SQL Server, ошибка: 53)

(provider: TCP Provider, error: 0 — No such host is known.) (Microsoft SQL Server, Error: 11001)

причины ошибок:

Эта ошибка возникает, когда SQL Server не может быть найден в Сети, что означает либо IP-адрес недоступен, либо номер TCP-порта либо не открыт, либо не является правильным номером порта, либо заблокирован брандмауэром и т. д

Решение:

Приведенные ниже шаги помогут устранить эти проблемы

1.Проверьте, можете ли вы пинговать сервер
2.Проверьте, открыт ли брандмауэр для подключения
3.Проверьте, работает ли служба SQL Server и если именованный экземпляр, то служба браузера
4.Проверьте, включен ли протокол TCP / IP в диспетчере конфигурации SQL Server
5.Проверьте, установлен ли в свойствах SQL Server параметр “Разрешить удаленные подключения” на уровне экземпляра

Дополнительная информация ниже:

Для экземпляра по умолчанию используется порт TCP / IP 1433, но это может быть изменено вручную. Поэтому пожалуйста проверьте TCP IP порт все еще находится на уровне по умолчанию 1433

Щелкните правой кнопкой мыши на TCP / IP и выберите пункт Свойства.
Прокрутите вниз до IPAll.
Убедитесь, что динамические порты TCP пусты.
Убедитесь, что TCP-порт установлен на 1433.

Для именованного экземпляра установки SQL Server должна быть включена и запущена служба браузера, которая определяет номер порта SQL Server. Служба SQL browser работает на порту UDP 1434 и это должно быть разрешено через ваш брандмауэр

Ошибка запуска службы SQL server 1053

Ошибка 1053: служба не ответила на запрос запуска или управления своевременно.»Тайм-аут (30000 миллисекунд) ожидания подключения службы SQL Server (MSSQLSERVER).

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

Я также столкнулся с этой проблемой при настройке установки на новый компьютер.

Проблема с подключением, с которой я столкнулся, была связана с настройкой брандмауэра на сервере, на котором размещен MSSQL. Эта настройка предоставила доступ к отдельным IP-адресам, что «работает» в нашей среде, поскольку IP-адреса описываются нашим администратором как «липкие». Как только IP-адрес моего нового компьютера получил доступ к брандмауэру, PHP odbc_connect(...) заявление, которое я запускал в своей локальной настройке WAMP, было завершено немедленно.

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

Это, вероятно, было бы немного яснее, если бы у меня была собственная установка студии управления MSSQL на моем ПК, но у меня ее нет.

Из правил для входящих подключений на сервере, содержащем MSSQL, я нашел правило, относящееся к экземпляру MSSQL, и, конечно же, нашел IP-адрес моей старой машины там под вкладкой свойств «Область» как «Удаленный IP-адрес». Надеюсь, я запомню это всякий раз, когда получу свою следующую машину! (IP выведенного из эксплуатации компьютера был удален)

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

pat_askiz

0 / 0 / 0

Регистрация: 07.08.2015

Сообщений: 9

1

MS SQL

21.03.2017, 08:26. Показов 57658. Ответов 14

Метки sql server (Все метки)


Студворк — интернет-сервис помощи студентам

Привет Всем уважаемые форумчане!

Вопрос такой, у себя на ПК (На котором пишу программу) — запускаю свою программу, спокойно всё подключается, копирую прогу на другой пк в той же сети выдает ошибку:
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server не существует, или доступ запрещен.

ИНФА:
Подключение: ADOConnection

Delphi
1
2
3
4
5
  DMMain.ADOConnection.Close;
  DMMain.ADOConnection.ConnectionString := 'FILE NAME=' +
    ReplaceText(Application.ExeName, '.exe', '.udl');
  DMMain.ADOConnection.Open();
  DMMain.ADOConnection.Connected := True;

До этого использовал IniFile с параметрами Provider=SQLOLEDB.1;Password=a123456A;Persist Security Info=True;User ID=sa;Initial Catalog=Base;Data Source='+ IP_ADR + ';';

Подключаюсь к серверной машинке Windows Server 2008
Установлен Microsoft SQL Server Standart
Брендмаузер настроен на порт 1433
TCP/IP на сервере включен

На своем ПК захожу на серверную машинку через Microsoft SQL Server Management Studio — спокойно!
На других машинках при подключении через файл .udl — подключается!

Даже установил sqlncli на клиентские машинки — результата ноль!
Как подключится? Что не так? Подскажите пожалуйста, уже 3-й день мучаюсь…



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

понял, что суть не понял
через udl подключается, а если в ConnectionString написать ‘FILE NAME=’ + … то нет, на всех компах, кроме вашего.

При первом прочтении мне примерещилось, что только на одном компе не работает, а на остальных все ок.



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);

Подключаюсь через свою программу на других пк:

Миниатюры

Ошибка подключения к SQL (SQL Server не существует, или доступ запрещен.)
 



0



0 / 0 / 0

Регистрация: 07.08.2015

Сообщений: 9

22.03.2017, 06:10

 [ТС]

8

РЕШИЛ ПРОБЛЕМУ!
В общем у меня оказывается в ADOConnection — Connected стояло в True и в ConnectionString уже был прописан провайдер…
Connected поставил в False и очистил ConnectionString.

Теперь соединяется на всех машинках и даже без sqlncli по SQLOLEDB.1.
Будьте повнимательней

И еще, вот думаю соединятся все-таки по IniFile прописав там только IP а остальное в программе (Пользователь, пароль, провайдер) — так-как в udl в открытой форме хранятся пароли и пользователи, как думаете Вы насчет этого? Хотелось бы знать
Или сделать отдельно Settings.exe и в нем сохранять настройки и каким-то образом соединятся?

Изображения

 



0



1039 / 855 / 335

Регистрация: 08.12.2016

Сообщений: 3,283

22.03.2017, 07:00

9

Цитата
Сообщение от pat_askiz
Посмотреть сообщение

так-как в udl в открытой форме хранятся пароли и пользователи,

вы их туда занесли поставив крыжик в «разрешить сохранение пароля», а так его (пароля) там быть не должно.
настройте udl заново без крыжика и пароля там не будет

Добавлено через 2 минуты
А Login Promp должен быть тогда True. Пароль надо или вводить. Или хранить. Или использовать Windows аутентификацию. Во всяко случае, обычные пользователи не должны работать под логином sa.



0



0 / 0 / 0

Регистрация: 07.08.2015

Сообщений: 9

22.03.2017, 07:28

 [ТС]

10

вы их туда занесли поставив крыжик в «разрешить сохранение пароля», а так его (пароля) там быть не должно.
настройте udl заново без крыжика и пароля там не будет

Я в курсе, но без этого не соединяется, пишет, что-то типо «ошибка пользователя»

А Login Promp должен быть тогда True. Пароль надо или вводить. Или хранить. Или использовать Windows аутентификацию.

Тогда у меня будет двойная авторизация — мне этого не нужно, так-как у меня уже есть форма авторизации…

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

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

Самое главное, что пользователи уже в системе



0



1039 / 855 / 335

Регистрация: 08.12.2016

Сообщений: 3,283

22.03.2017, 07:57

11

Цитата
Сообщение от pat_askiz
Посмотреть сообщение

так-как у меня уже есть форма авторизации.

и те логины и пароли не имеют отношения с серверным? Типа хранятся в таблицах базы? В открытом виде?



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

Цитата
Сообщение от pat_askiz
Посмотреть сообщение

Нет они прописаны отдельно

даже не в базе? В ини-файле рядом с программой?



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

Цитата
Сообщение от pat_askiz
Посмотреть сообщение

а остальное в программе (Пользователь, пароль, провайдер)

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



0



Понравилась статья? Поделить с друзьями:
  • Ошибка подключения к smtp что это
  • Ошибка подключения к smtp yandex
  • Ошибка подключения к openid провайдеру
  • Ошибка подключения к net в телефоне
  • Ошибка подключения к mysql что это