The following describes how to solve the three most common connection errors.
The following describes how to solve the three most common connection errors.
The first error "SQL Server does not exist or access is denied" is usually the most complicated. There are many causes of the error and there are many aspects to check. Generally, there are several possibilities:
1. the SQL Server name or IP address is incorrectly spelled;
2. The server network configuration is incorrect;
3. The client network configuration is incorrect.
To solve this problem, we generally need to follow the steps below to find out the cause of the error step by step.
First, check the network physical connection:
Ping <服务器ip地址>
Or
Ping <服务器名称>
If ping <服务器ip地址> If the connection fails, the physical connection is faulty. In this case, check the hardware devices, such as the NIC, HUB, and vro. Another possible cause is the installation of firewall software between the client and the Server, such as ISA Server. Firewall software may block responses to ping, telnet, and so on. Therefore, when checking connection problems, we must temporarily disable the firewall software or open all closed ports.
If ping <服务器ip地址> Ping successfully <服务器名称> If it fails, it indicates that there is a problem with name resolution. In this case, check whether the DNS service is normal. Sometimes the client and server are not in the same LAN. At this time, you may not be able to directly use the server name to identify the server. At this time, you can use the HOSTS file for name resolution. The specific method is:
1. Use notepad to open the HOSTS file (usually in C: \ WINNT \ system32 \ drivers \ etc ).
2. Add a record corresponding to the IP address and server name, for example:
172.1610.24 myserver
You can also configure it in the SQL Server Client Network utility, which will be described in detail later.
Second, use the telnet command to check the SQL Server's working status:
Telnet <服务器ip地址> 1433
If the command is successfully executed, you can see that the cursor does not stop flashing in the upper left corner after the screen flashes. This indicates that the SQL Server is working normally and is listening for TCP/IP connections on port 1433; if the command returns an error message "unable to open the connection", it indicates that the SQL Server service is not started on the Server, or the TCP/IP protocol is not enabled on the Server, or the Server does not listen on the default port 1433 of SQL Server.
Next, we need to check the network configuration on the server, whether the named pipe is enabled, whether the TCP/IP protocol is enabled, and so on. We can use the Server network tools provided by SQL Server for inspection.
Click program> Microsoft SQL Server> Server network tools. The following figure is displayed after the tool is opened:
Here we can see which protocols are enabled on the server. In general, we enable Named Pipes and TCP/IP protocols.
Click "properties" in the TCP/IP protocol to check the default port settings of the SQK Server Service, as shown in:
Generally, we use the default port 1433 of SQL Server. If you select "Hide server", it means that the client cannot see this server by enumerating the server. This protects the server, but does not affect the connection.
After checking the network configuration of the server, we will go to the client to check the network configuration of the client. We can also use the client network provided by SQL Server to perform the check. The difference is that this tool is run on the client this time.
Click program> Microsoft SQL Server> client network tools. The following figure shows the protocols enabled on the client. In general, we also need to enable the named pipe and TCP/IP protocol.
Click TCP/IP protocol and select "properties" to check the default connection port settings of the client, as shown in. The port must be the same as the server.
Click the "alias" tab to configure an alias for the server. The server alias is the name used for connection. The server in the connection parameter is the real server name. The two can be the same or different. For example, we can use myserver to replace the real server name sql2kcn-02 and use the network library Named Pipes. The alias settings are similar to the HOSTS file.
Through the above checks, the cause of Error 1 can basically be ruled out. Next we will describe in detail how to solve Error 2.
When you try to use sa in the query analyzer to connect to SQL Server, or use sa in the Enterprise Manager to create a new SQL Server registration, you will often encounter the error message 2. This error occurs because SQL Server uses the "Windows only" authentication method, so you cannot use the Logon account of SQL Server (such as sa) to connect. The solution is as follows:
1. Use the enterprise manager on the Server side and select "use Windows Authentication" to connect to SQL Server;
2. Expand "SQL Server group", right-click the name of the SQL Server, select "properties", and then select the "Security" tab;
3. Under "authentication", select "SQL Server and Windows ".
4. Restart the SQL Server service.
In the above solution, if you fail to connect to SQL Server by using "use Windows Authentication" in step 1, we will encounter a dilemma: first, the server only supports Windows authentication. Second, even if Windows authentication is used, the server cannot be connected. This situation is vividly referred to as "locking yourself out of the door", because no matter what method is used, users cannot use the connection. In fact, you can change the Authentication Mode to SQL Server and Windows Hybrid Authentication by modifying a key value. The steps are as follows:
1. Click "start"-"run", enter regedit, and press enter to enter the editor;
2. Expand items in sequence and browse to the following keys:
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSSQLServer]
3. Find the name "LoginMode" on the right of the screen and double-click to edit the double-byte value;
4. Change the original value from 1 to 2 and click "OK ";
5. Close the editor;
6. Restart the SQL Server service.
In this case, you can successfully use sa to create an SQL Server registration in the Enterprise Manager, but you still cannot connect to SQL Server in Windows Authentication mode. This is because there are two default logon accounts in SQL Server: BUILTIN \ Administrators and <机器名> \ Administrator is deleted. To restore these two accounts, you can use the following methods:
1. Open the Enterprise Manager, expand the server group, and then expand the server;
2. Expand security, right-click logon, and click New logon ";
3. In the Name box, enter BUILTIN \ Administrators;
4. On the "server role" tab, select "System Administrators ";
5. Click "OK" to exit;
6. Use the same method to add <机器名> \ Administrator login.
The following keys
The value of HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSSQLServer \ LoginMode determines the Authentication mode that SQL Server will adopt. If the value is 1, it indicates that the Windows Authentication mode is used; If the value is 2, it indicates that the Windows Authentication and SQL Server authentication are used ).
After reading how to solve the first two errors, let's take a look at the third error shown in 3.
If a third error occurs, it generally indicates that the client has found this server and can be connected. However, an error occurs because the connection time exceeds the allowed time. This usually occurs when a user runs the enterprise manager on the Internet to register another server that is also on the Internet and is using a slow connection, the above timeout error may occur. In some cases, the LAN may cause such errors.
To solve this problem, you can modify the connection timeout settings of the client. By default, the timeout setting for registering another SQL Server through the Enterprise Manager is 4 seconds, the query analyzer is 15 seconds (this is also the reason why there is a high possibility of errors in the Enterprise Manager ). The procedure is as follows:
1. In Enterprise Manager, select "Tools" from the menu, and then select "options ";
2. In the displayed "SQL Server Enterprise Manager properties" window, click the "advanced" tab;
3. Enter a large number, such as 20, in the "Login timeout (seconds)" box on the right under "connection settings.
The query analyzer can also be set at the same position.
Simply put:
/**********************************/
1. ping is guaranteed first.
2. No error will be reported when telnet ip 1433 is written in dos
3. Use an ip address to connect to the Enterprise Manager:
Enterprise Manager --> right-click SQlserver group --> Create sqlserver registration --> next --> Write Remote Instance name (IP address, machine name) --> next --> select Sqlserver login --> next --> write login name and password (sa, pass) --> next --> complete
4. If not:
Sqlserver server --> Start Menu --> SQLserver --> server network utility --> enable WinSock Proxy --> proxy address: (sqlserver Server IP address) --> proxy port --> 1433 --> OK
5. If not:
Sqlserver client --> Start Menu --> SQLserver --> client network utility --> alias --> Add --> write alias such as "" --> "network library" select TCP/IP --> The server name is written to the remote ip address or Instance name --> OK