SQL server error 10048 occurs while starting the SQL server.
Here at Bobcares, we have seen several causes for this error while troubleshooting SQL issues as part of our Server Management Services for SQL database users, web hosts, and online service providers.
Today we’ll take a look at the cause for this error and how to fix it.
What causes SQL server error 10048 to occur?
Now let’s see what causes this error to occur. Port 1433 is a standard port number for SQL Server.
However, in some cases, the TCP port where the SQL server is listening is already used by another service or process.
These changes lead to the 10048 error. For instance, the error appears as:
How we resolve SQL server error 10048?
Now let’s dig into the solution part of this error. Here are some of the solutions that our Support Engineers follow to fix this error.
Find the process which is using that port and stop that process.
We run the below command in the command prompt to check the TCP ports which are in use. This also displays the name of the application which is using it.
netstat -a -b
Here, we find the application which is using TCP port 1433 and change that application to use a different port number.
Change port of SQL Server to a port that is not used by any other process.
We follow the below steps to change the port of the SQL server.
1. Initially, we open the SQL Server Configuration Manager. For that, we click on Start >> Programs >> Microsoft SQL Server 2005 >> Configuration Tools >> SQL Server Configuration Manager.
2. A Dropdown is available under the SQL Server 2005 Network Configuration and then we select the instance.
3. Here we right-click on TCP/IP and select Properties option.
4. Then we select the IP Addresses Tab to change to an open port.
5. Finally, we restart the SQL SERVER to fix this error.
[Need any further assistance in fixing SQL errors? – We’re available 24*7]
Conclusion
In short, SQL server error 10048 occurs when the TCP port where SQL server must run is used by other processes. Today, we saw how our Support Engineers fix this 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 error 10048 occurs while starting the SQL server.
Here at Bobcares, we have seen several causes for this error while troubleshooting SQL issues as part of our Server Management Services for SQL database users, web hosts, and online service providers.
Today we’ll take a look at the cause for this error and how to fix it.
What causes SQL server error 10048 to occur?
Now let’s see what causes this error to occur. Port 1433 is a standard port number for SQL Server.
However, in some cases, the TCP port where the SQL server is listening is already used by another service or process.
These changes lead to the 10048 error. For instance, the error appears as:
How we resolve SQL server error 10048?
Now let’s dig into the solution part of this error. Here are some of the solutions that our Support Engineers follow to fix this error.
Find the process which is using that port and stop that process.
We run the below command in the command prompt to check the TCP ports which are in use. This also displays the name of the application which is using it.
netstat -a -b
Here, we find the application which is using TCP port 1433 and change that application to use a different port number.
Change port of SQL Server to a port that is not used by any other process.
We follow the below steps to change the port of the SQL server.
1. Initially, we open the SQL Server Configuration Manager. For that, we click on Start >> Programs >> Microsoft SQL Server 2005 >> Configuration Tools >> SQL Server Configuration Manager.
2. A Dropdown is available under the SQL Server 2005 Network Configuration and then we select the instance.
3. Here we right-click on TCP/IP and select Properties option.
4. Then we select the IP Addresses Tab to change to an open port.
5. Finally, we restart the SQL SERVER to fix this error.
[Need any further assistance in fixing SQL errors? – We’re available 24*7]
Conclusion
In short, SQL server error 10048 occurs when the TCP port where SQL server must run is used by other processes. Today, we saw how our Support Engineers fix this 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»;
- Remove From My Forums
-
Question
-
Hello. I am experiencing the issue with SQL Server 2005 service not able to start when TCP/IP is enabled. I have researched this issue extensively and what I come up with are fixes for checkpoints on clustered instances. ISSUE: I am running
a machine with XP Pro and not Server 2003, so I CANNOT have clustered instances. ALL the fixes out there refer to commands such as «cluster res» which do not exist in Win XP Pro. Here is the error log which looks exactly like everyone
else’s (when they are dealing with clusters on Server 2003). Can anyone shed ANY light on how to deal with this on a Win XP machine? I’m going totally crazy here. I can get the local server to load by disabling TCP/IP in SSCM. VIA does
not need to be disabled, just TCP/IP. Of course you know this issue came up when I attempted to change the Listen Port / IP address. I was starting and restarting and stopping and starting the SQL service in order to apply changes within
SSCM and must have attempted to apply a change while the SQL server wasn’t running. Thank you in advance for any help. FYI, I attempted to run the GUI clusterrecovery.com but it failed miserably. The «browse» function gave me an
ActiveX error and I couldn’t locate my Cluster because I don’t think I have one. Please, someone, any one… HELP.2013-01-21 10:56:42.12 Server Microsoft SQL Server 2005 — 9.00.5000.00 (Intel X86)
Dec 10 2010 10:56:29
Copyright (c) 1988-2005 Microsoft Corporation
Express Edition with Advanced Services on Windows NT 5.1 (Build 2600: Service Pack 3)2013-01-21 10:56:42.23 Server (c) 2005 Microsoft Corporation.
2013-01-21 10:56:42.25 Server All rights reserved.
2013-01-21 10:56:42.26 Server Server process ID is 4280.
2013-01-21 10:56:42.28 Server Authentication mode is MIXED.
2013-01-21 10:56:42.29 Server Logging SQL Server messages in file ‘C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOGERRORLOG’.
2013-01-21 10:56:42.32 Server This instance of SQL Server last reported using a process ID of 5292 at 1/21/2013 10:53:24 AM (local) 1/21/2013 5:53:24 PM (UTC). This is an informational message only; no user action is required.
2013-01-21 10:56:42.37 Server Registry startup parameters:
2013-01-21 10:56:42.39 Server -d C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATAmaster.mdf
2013-01-21 10:56:42.42 Server -e C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOGERRORLOG
2013-01-21 10:56:42.45 Server -l C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATAmastlog.ldf
2013-01-21 10:56:42.48 Server Command Line Startup Parameters:
2013-01-21 10:56:42.50 Server -s advisorsassist
2013-01-21 10:56:42.53 Server SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.
2013-01-21 10:56:42.56 Server Detected 2 CPUs. This is an informational message; no user action is required.
2013-01-21 10:56:43.23 Server Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node. This is an informational message only. No user action is required.
2013-01-21 10:56:43.29 Server Database mirroring has been enabled on this instance of SQL Server.
2013-01-21 10:56:43.32 spid5s Starting up database ‘master’.
2013-01-21 10:56:43.46 spid5s 1 transactions rolled forward in database ‘master’ (1). This is an informational message only. No user action is required.
2013-01-21 10:56:43.51 spid5s 0 transactions rolled back in database ‘master’ (1). This is an informational message only. No user action is required.
2013-01-21 10:56:43.54 spid5s Recovery is writing a checkpoint in database ‘master’ (1). This is an informational message only. No user action is required.
2013-01-21 10:56:43.67 spid5s SQL Trace ID 1 was started by login «sa».
2013-01-21 10:56:43.68 spid5s Starting up database ‘mssqlsystemresource’.
2013-01-21 10:56:43.74 spid5s The resource database build version is 9.00.5000. This is an informational message only. No user action is required.
2013-01-21 10:56:43.96 spid8s Starting up database ‘model’.
2013-01-21 10:56:43.96 Server Virtual Interface Architecture protocol is not supported for this particular edition of SQL Server.
2013-01-21 10:56:43.98 spid5s Server name is ‘LOWELLADVISORSASSIST’. This is an informational message only. No user action is required.
2013-01-21 10:56:44.12 spid8s Clearing tempdb database.
2013-01-21 10:56:44.28 spid8s Starting up database ‘tempdb’.
2013-01-21 10:56:44.43 spid11s The Service Broker protocol transport is disabled or not configured.
2013-01-21 10:56:44.46 spid11s The Database Mirroring protocol transport is disabled or not configured.
2013-01-21 10:56:44.54 spid11s Service Broker manager has started.
2013-01-21 10:56:44.57 Server A self-generated certificate was successfully loaded for encryption.
2013-01-21 10:56:44.62 Server Server is listening on [ ‘any’ <ipv4> 3136].
2013-01-21 10:56:44.64 Server Error: 26023, Severity: 16, State: 1.
2013-01-21 10:56:44.64 Server Server TCP provider failed to listen on [ ‘any’ <ipv4> 3136]. Tcp port is already in use.
2013-01-21 10:56:44.68 Server Error: 17182, Severity: 16, State: 1.
2013-01-21 10:56:44.68 Server TDSSNIClient initialization failed with error 0x2740, status code 0xa.
2013-01-21 10:56:44.73 Server Error: 17182, Severity: 16, State: 1.
2013-01-21 10:56:44.73 Server TDSSNIClient initialization failed with error 0x2740, status code 0x1.
2013-01-21 10:56:44.78 Server Error: 17826, Severity: 18, State: 3.
2013-01-21 10:56:44.78 Server Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.
2013-01-21 10:56:44.84 Server Error: 17120, Severity: 16, State: 1.
2013-01-21 10:56:44.84 Server SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.
Answers
-
«Server TCP provider failed to listen on [ ‘any’ <ipv4> 3136]. Tcp port is already in use.»
Looks like the TCP port 3136 which SQL is listening is on is already being used by some other process. You need to find the process which is using this port or change SQL Server TCP port to some thing else which is available to use
- Marked as answer by
Wednesday, January 30, 2013 9:46 AM
- Marked as answer by
- Remove From My Forums
-
Question
-
Hello. I am experiencing the issue with SQL Server 2005 service not able to start when TCP/IP is enabled. I have researched this issue extensively and what I come up with are fixes for checkpoints on clustered instances. ISSUE: I am running
a machine with XP Pro and not Server 2003, so I CANNOT have clustered instances. ALL the fixes out there refer to commands such as «cluster res» which do not exist in Win XP Pro. Here is the error log which looks exactly like everyone
else’s (when they are dealing with clusters on Server 2003). Can anyone shed ANY light on how to deal with this on a Win XP machine? I’m going totally crazy here. I can get the local server to load by disabling TCP/IP in SSCM. VIA does
not need to be disabled, just TCP/IP. Of course you know this issue came up when I attempted to change the Listen Port / IP address. I was starting and restarting and stopping and starting the SQL service in order to apply changes within
SSCM and must have attempted to apply a change while the SQL server wasn’t running. Thank you in advance for any help. FYI, I attempted to run the GUI clusterrecovery.com but it failed miserably. The «browse» function gave me an
ActiveX error and I couldn’t locate my Cluster because I don’t think I have one. Please, someone, any one… HELP.2013-01-21 10:56:42.12 Server Microsoft SQL Server 2005 — 9.00.5000.00 (Intel X86)
Dec 10 2010 10:56:29
Copyright (c) 1988-2005 Microsoft Corporation
Express Edition with Advanced Services on Windows NT 5.1 (Build 2600: Service Pack 3)2013-01-21 10:56:42.23 Server (c) 2005 Microsoft Corporation.
2013-01-21 10:56:42.25 Server All rights reserved.
2013-01-21 10:56:42.26 Server Server process ID is 4280.
2013-01-21 10:56:42.28 Server Authentication mode is MIXED.
2013-01-21 10:56:42.29 Server Logging SQL Server messages in file ‘C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOGERRORLOG’.
2013-01-21 10:56:42.32 Server This instance of SQL Server last reported using a process ID of 5292 at 1/21/2013 10:53:24 AM (local) 1/21/2013 5:53:24 PM (UTC). This is an informational message only; no user action is required.
2013-01-21 10:56:42.37 Server Registry startup parameters:
2013-01-21 10:56:42.39 Server -d C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATAmaster.mdf
2013-01-21 10:56:42.42 Server -e C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOGERRORLOG
2013-01-21 10:56:42.45 Server -l C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATAmastlog.ldf
2013-01-21 10:56:42.48 Server Command Line Startup Parameters:
2013-01-21 10:56:42.50 Server -s advisorsassist
2013-01-21 10:56:42.53 Server SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.
2013-01-21 10:56:42.56 Server Detected 2 CPUs. This is an informational message; no user action is required.
2013-01-21 10:56:43.23 Server Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node. This is an informational message only. No user action is required.
2013-01-21 10:56:43.29 Server Database mirroring has been enabled on this instance of SQL Server.
2013-01-21 10:56:43.32 spid5s Starting up database ‘master’.
2013-01-21 10:56:43.46 spid5s 1 transactions rolled forward in database ‘master’ (1). This is an informational message only. No user action is required.
2013-01-21 10:56:43.51 spid5s 0 transactions rolled back in database ‘master’ (1). This is an informational message only. No user action is required.
2013-01-21 10:56:43.54 spid5s Recovery is writing a checkpoint in database ‘master’ (1). This is an informational message only. No user action is required.
2013-01-21 10:56:43.67 spid5s SQL Trace ID 1 was started by login «sa».
2013-01-21 10:56:43.68 spid5s Starting up database ‘mssqlsystemresource’.
2013-01-21 10:56:43.74 spid5s The resource database build version is 9.00.5000. This is an informational message only. No user action is required.
2013-01-21 10:56:43.96 spid8s Starting up database ‘model’.
2013-01-21 10:56:43.96 Server Virtual Interface Architecture protocol is not supported for this particular edition of SQL Server.
2013-01-21 10:56:43.98 spid5s Server name is ‘LOWELLADVISORSASSIST’. This is an informational message only. No user action is required.
2013-01-21 10:56:44.12 spid8s Clearing tempdb database.
2013-01-21 10:56:44.28 spid8s Starting up database ‘tempdb’.
2013-01-21 10:56:44.43 spid11s The Service Broker protocol transport is disabled or not configured.
2013-01-21 10:56:44.46 spid11s The Database Mirroring protocol transport is disabled or not configured.
2013-01-21 10:56:44.54 spid11s Service Broker manager has started.
2013-01-21 10:56:44.57 Server A self-generated certificate was successfully loaded for encryption.
2013-01-21 10:56:44.62 Server Server is listening on [ ‘any’ <ipv4> 3136].
2013-01-21 10:56:44.64 Server Error: 26023, Severity: 16, State: 1.
2013-01-21 10:56:44.64 Server Server TCP provider failed to listen on [ ‘any’ <ipv4> 3136]. Tcp port is already in use.
2013-01-21 10:56:44.68 Server Error: 17182, Severity: 16, State: 1.
2013-01-21 10:56:44.68 Server TDSSNIClient initialization failed with error 0x2740, status code 0xa.
2013-01-21 10:56:44.73 Server Error: 17182, Severity: 16, State: 1.
2013-01-21 10:56:44.73 Server TDSSNIClient initialization failed with error 0x2740, status code 0x1.
2013-01-21 10:56:44.78 Server Error: 17826, Severity: 18, State: 3.
2013-01-21 10:56:44.78 Server Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.
2013-01-21 10:56:44.84 Server Error: 17120, Severity: 16, State: 1.
2013-01-21 10:56:44.84 Server SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.
Answers
-
«Server TCP provider failed to listen on [ ‘any’ <ipv4> 3136]. Tcp port is already in use.»
Looks like the TCP port 3136 which SQL is listening is on is already being used by some other process. You need to find the process which is using this port or change SQL Server TCP port to some thing else which is available to use
- Marked as answer by
Wednesday, January 30, 2013 9:46 AM
- Marked as answer by
- Remove From My Forums
-
Question
-
Hello. I am experiencing the issue with SQL Server 2005 service not able to start when TCP/IP is enabled. I have researched this issue extensively and what I come up with are fixes for checkpoints on clustered instances. ISSUE: I am running
a machine with XP Pro and not Server 2003, so I CANNOT have clustered instances. ALL the fixes out there refer to commands such as «cluster res» which do not exist in Win XP Pro. Here is the error log which looks exactly like everyone
else’s (when they are dealing with clusters on Server 2003). Can anyone shed ANY light on how to deal with this on a Win XP machine? I’m going totally crazy here. I can get the local server to load by disabling TCP/IP in SSCM. VIA does
not need to be disabled, just TCP/IP. Of course you know this issue came up when I attempted to change the Listen Port / IP address. I was starting and restarting and stopping and starting the SQL service in order to apply changes within
SSCM and must have attempted to apply a change while the SQL server wasn’t running. Thank you in advance for any help. FYI, I attempted to run the GUI clusterrecovery.com but it failed miserably. The «browse» function gave me an
ActiveX error and I couldn’t locate my Cluster because I don’t think I have one. Please, someone, any one… HELP.2013-01-21 10:56:42.12 Server Microsoft SQL Server 2005 — 9.00.5000.00 (Intel X86)
Dec 10 2010 10:56:29
Copyright (c) 1988-2005 Microsoft Corporation
Express Edition with Advanced Services on Windows NT 5.1 (Build 2600: Service Pack 3)2013-01-21 10:56:42.23 Server (c) 2005 Microsoft Corporation.
2013-01-21 10:56:42.25 Server All rights reserved.
2013-01-21 10:56:42.26 Server Server process ID is 4280.
2013-01-21 10:56:42.28 Server Authentication mode is MIXED.
2013-01-21 10:56:42.29 Server Logging SQL Server messages in file ‘C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOGERRORLOG’.
2013-01-21 10:56:42.32 Server This instance of SQL Server last reported using a process ID of 5292 at 1/21/2013 10:53:24 AM (local) 1/21/2013 5:53:24 PM (UTC). This is an informational message only; no user action is required.
2013-01-21 10:56:42.37 Server Registry startup parameters:
2013-01-21 10:56:42.39 Server -d C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATAmaster.mdf
2013-01-21 10:56:42.42 Server -e C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOGERRORLOG
2013-01-21 10:56:42.45 Server -l C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATAmastlog.ldf
2013-01-21 10:56:42.48 Server Command Line Startup Parameters:
2013-01-21 10:56:42.50 Server -s advisorsassist
2013-01-21 10:56:42.53 Server SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.
2013-01-21 10:56:42.56 Server Detected 2 CPUs. This is an informational message; no user action is required.
2013-01-21 10:56:43.23 Server Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node. This is an informational message only. No user action is required.
2013-01-21 10:56:43.29 Server Database mirroring has been enabled on this instance of SQL Server.
2013-01-21 10:56:43.32 spid5s Starting up database ‘master’.
2013-01-21 10:56:43.46 spid5s 1 transactions rolled forward in database ‘master’ (1). This is an informational message only. No user action is required.
2013-01-21 10:56:43.51 spid5s 0 transactions rolled back in database ‘master’ (1). This is an informational message only. No user action is required.
2013-01-21 10:56:43.54 spid5s Recovery is writing a checkpoint in database ‘master’ (1). This is an informational message only. No user action is required.
2013-01-21 10:56:43.67 spid5s SQL Trace ID 1 was started by login «sa».
2013-01-21 10:56:43.68 spid5s Starting up database ‘mssqlsystemresource’.
2013-01-21 10:56:43.74 spid5s The resource database build version is 9.00.5000. This is an informational message only. No user action is required.
2013-01-21 10:56:43.96 spid8s Starting up database ‘model’.
2013-01-21 10:56:43.96 Server Virtual Interface Architecture protocol is not supported for this particular edition of SQL Server.
2013-01-21 10:56:43.98 spid5s Server name is ‘LOWELLADVISORSASSIST’. This is an informational message only. No user action is required.
2013-01-21 10:56:44.12 spid8s Clearing tempdb database.
2013-01-21 10:56:44.28 spid8s Starting up database ‘tempdb’.
2013-01-21 10:56:44.43 spid11s The Service Broker protocol transport is disabled or not configured.
2013-01-21 10:56:44.46 spid11s The Database Mirroring protocol transport is disabled or not configured.
2013-01-21 10:56:44.54 spid11s Service Broker manager has started.
2013-01-21 10:56:44.57 Server A self-generated certificate was successfully loaded for encryption.
2013-01-21 10:56:44.62 Server Server is listening on [ ‘any’ <ipv4> 3136].
2013-01-21 10:56:44.64 Server Error: 26023, Severity: 16, State: 1.
2013-01-21 10:56:44.64 Server Server TCP provider failed to listen on [ ‘any’ <ipv4> 3136]. Tcp port is already in use.
2013-01-21 10:56:44.68 Server Error: 17182, Severity: 16, State: 1.
2013-01-21 10:56:44.68 Server TDSSNIClient initialization failed with error 0x2740, status code 0xa.
2013-01-21 10:56:44.73 Server Error: 17182, Severity: 16, State: 1.
2013-01-21 10:56:44.73 Server TDSSNIClient initialization failed with error 0x2740, status code 0x1.
2013-01-21 10:56:44.78 Server Error: 17826, Severity: 18, State: 3.
2013-01-21 10:56:44.78 Server Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.
2013-01-21 10:56:44.84 Server Error: 17120, Severity: 16, State: 1.
2013-01-21 10:56:44.84 Server SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.
Answers
-
«Server TCP provider failed to listen on [ ‘any’ <ipv4> 3136]. Tcp port is already in use.»
Looks like the TCP port 3136 which SQL is listening is on is already being used by some other process. You need to find the process which is using this port or change SQL Server TCP port to some thing else which is available to use
- Marked as answer by
Wednesday, January 30, 2013 9:46 AM
- Marked as answer by
in the Console , SQL Server Configuration Manager
I get error 10048 when start sql service
and this in event history:
The SQL server service terminated with server-specific error. Only one usage of each socket (protcol/network address/port) is normall permitted. Any idea howto fix this ? Port set is the default 1433… If this is turned off, which is default of course, SQL service starts like a champ. I have done this config many times on other servers with no problem.
asked Oct 26, 2012 at 21:24
1
Figured it out. Right clicking the TCP/IP option there is an option to set ‘Listeners’ to all. Which is default, I changed this ‘no’, and it started so something must be up with my interfaces…
answered Oct 29, 2012 at 14:28
ebelebel
811 gold badge1 silver badge6 bronze badges
1
Sounds like there’s something else already running on TCP port 1433. Stop the SQL Server. Then from a command prompt run
netstat -a -b
This will show you all the TCP ports which are in use and the name of the application which is using it. Find the application which is using TCP port 1433 and change that application to use a different port number.
answered Oct 27, 2012 at 22:44
mrdennymrdenny
27.1k4 gold badges40 silver badges69 bronze badges
-
October 19, 2004 at 12:21 am
#65222
For Client Aplication (Build with VBA MS Access 2000 with DAO) when connect to Database MS SQL 7.0 sometime happend:
Connection Failed:
SQLState: ‘01000’
SQL Server Error: 10048
[Microsoft][ODBC SQL Server Driver][TCP/IP Socket]ConnectionOpen (Connect()).
What wrong with the application, is the SQL, the Network, the Firewall or something.
I need the suggestion for fixed this problem.
Thank’s for your help.
-
October 22, 2004 at 8:00 am
This was removed by the editor as SPAM
-
Jimmy Crackcorn
SSC Rookie
Points: 49
I get the same error but mine also has a
SQLState: ‘08001’
SQL Server Error: 17
[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]SQL Server does not exist or access denied.
I only get this error when I run a very large time consuming function. Like a huge report. It is as though I am looseing the connection with the SQL server for some reason.
-
adamcrv
Hall of Fame
Points: 3056
HI,
Ive seen the error from jimmy crackcorn before, you are right it does occur when running a large time consuming function, ive found it happens because of time outs that are set in SQL server. increasing these does seem to help somewhat, however you should probobly be looking at your report first. Ive found sometimes it doesn’t seem to matter how much you extend the timeout, the error still occurs, but altering the report execution or structure, fixes this issue.
finally mdacs etc should also be looked at as well.
Not a fix but hopefully a step in the right direction ?
Cheers
Adam
——————————
Life is far too important to be taken seriously -
adamcrv
Hall of Fame
Points: 3056
In resposne to Beni STS question,
Has this just started happening, any other info you can provide may help
is it a new report, new piece of code?
finally i suppose SQL 7.0 pretty old now, there are plenty of reasons to maybe look at upgrading as well to a newer version? not a solution but something you maybe should look at ?
some more information would help us to help you though beni sts
——————————
Life is far too important to be taken seriously -
nidhi.joshi
SSC Journeyman
Points: 87
Hi,
Error ID 10048 occurs when port is being used by some other application. try changing the port it will resolve the issue.
—Nidhi
-
Beni_STS
Old Hand
Points: 311
Thx for all of you,
fyi, I’ve already upgrade the Database SQL 7.0 to SQL 2.000
but still face the same problem.
for Nidhi, can you explain more detail for the port.
how to know the port being used by another application ?
I need your help dan suggestion.
Thank’s
Viewing 7 posts — 1 through 6 (of 6 total)
0 / 0 / 0 Регистрация: 19.10.2013 Сообщений: 26 |
|
1 |
|
23.10.2013, 04:58. Показов 54800. Ответов 20
Всем привет!! Оч прошу помогите разобраться.
__________________ 0 |
3317 / 2027 / 722 Регистрация: 02.06.2013 Сообщений: 4,972 |
|
23.10.2013, 10:04 |
2 |
У вас имя машины «.»? 1 |
0 / 0 / 0 Регистрация: 19.10.2013 Сообщений: 26 |
|
23.10.2013, 10:26 [ТС] |
3 |
У вас имя машины «.»? Спасибо 0 |
624 / 495 / 43 Регистрация: 05.07.2010 Сообщений: 1,589 |
|
23.10.2013, 10:36 |
4 |
У вас имя машины «.»? . значит локальная машина. 1 |
3317 / 2027 / 722 Регистрация: 02.06.2013 Сообщений: 4,972 |
|
23.10.2013, 10:38 |
5 |
Какой путь? 0 |
624 / 495 / 43 Регистрация: 05.07.2010 Сообщений: 1,589 |
|
23.10.2013, 10:40 |
6 |
ТС надо в свойствах службы назначить учётную запись LOCAL_SYSTEM (либо отметить галочуой соответствующую учётную запись — от версии винды зависит), либо осознанно указать имя и пароль учётной записи, от которой должна работать служба SQLSERVER (SQLEXPRESS) 0 |
3317 / 2027 / 722 Регистрация: 02.06.2013 Сообщений: 4,972 |
|
23.10.2013, 10:59 |
7 |
. значит локальная машина. В терминах MSSQL «.» озаначает локальный сервер. Насчет такого обозначения локальной учетной записи — в первый раз слышу. Более того, это не работает. Может есть пруфлинк?
ТС надо в свойствах службы назначить учётную запись LOCAL_SYSTEM А если ТСу требуется из сиквела обращаться к сетевым ресурсам? 0 |
624 / 495 / 43 Регистрация: 05.07.2010 Сообщений: 1,589 |
|
23.10.2013, 11:06 |
8 |
При чём тут термины MSSQL, если речь идёт об авторизации заапуска службы. Вообще-то я прямо сейчас с этими вещами работаю и спорить не собираюсь. Пусть ТС попробует и напишет чем кончилось. 0 |
3317 / 2027 / 722 Регистрация: 02.06.2013 Сообщений: 4,972 |
|
23.10.2013, 11:26 |
9 |
Вообще-то я прямо сейчас с этими вещами работаю и спорить не собираюсь. Ну тогда Вас наверное не затруднит привести воспроизводимый пример работы с учетками вида «.Имя»? 0 |
624 / 495 / 43 Регистрация: 05.07.2010 Сообщений: 1,589 |
|
23.10.2013, 12:12 |
10 |
Воспроизводимый в каком виде? виртуалку сдампить? ) запись вида .Имя делается для того, чтобы отличить Принтскрин ошибки позволяет предполодить, что на момент установки на машине ТС была локальная учётка Admin, и в процессе настройки этот админ решил стартовать службу сервера от себя, а потом админскую учётку заблокировал либо удалил либо пароль сменил. 0 |
0 / 0 / 0 Регистрация: 19.10.2013 Сообщений: 26 |
|
23.10.2013, 12:31 [ТС] |
11 |
Вот дополнительно скрины самой службы. Может что-топо может. 0 |
624 / 495 / 43 Регистрация: 05.07.2010 Сообщений: 1,589 |
|
25.10.2013, 07:02 |
13 |
Я вроде уже говорил, что надо поменять ваторизацию запуска. 0 |
624 / 495 / 43 Регистрация: 05.07.2010 Сообщений: 1,589 |
|
25.10.2013, 07:04 |
14 |
В вашем случае надо положить шарик в дырочку слева от «встроенную учётную запись» и выбрать LOCAL_SYSTEM в вываливающемся списке, расположенном под указанной надписью. 0 |
0 / 0 / 0 Регистрация: 19.10.2013 Сообщений: 26 |
|
25.10.2013, 07:22 [ТС] |
15 |
Я пробовал менять авторизацию, но пи запуске службы выдает сообщение «Не удалось запустить службу SQL Server (SQLEXPRESS) на Локальный компьютер. Дополнительные сведения содержатся в журнале системных событий. Если эта служба разработана не в Microsoft, обратитесь к разработчику службы и сообщите специфический для этой службы код ошибки 1814» Добавлено через 4 минуты 0 |
3317 / 2027 / 722 Регистрация: 02.06.2013 Сообщений: 4,972 |
|
25.10.2013, 09:07 |
16 |
Покажите журнал самого сиквела. Он должен лежать примерно тут: C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOGErrorlog 1 |
0 / 0 / 0 Регистрация: 19.10.2013 Сообщений: 26 |
|
25.10.2013, 10:01 [ТС] |
17 |
Код 2013-10-25 12:09:39.29 Server Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) Jul 9 2008 14:43:34 Copyright (c) 1988-2008 Microsoft Corporation Express Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3) 2013-10-25 12:09:39.37 Server (c) 2005 Microsoft Corporation. 2013-10-25 12:09:39.37 Server All rights reserved. 2013-10-25 12:09:39.37 Server Server process ID is 2516. 2013-10-25 12:09:39.37 Server Authentication mode is WINDOWS-ONLY. 2013-10-25 12:09:39.37 Server Logging SQL Server messages in file 'C:Program FilesMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLLogERRORLOG'. 2013-10-25 12:09:39.39 Server This instance of SQL Server last reported using a process ID of 1484 at 25.10.2013 10:48:34 (local) 25.10.2013 1:48:34 (UTC). This is an informational message only; no user action is required. 2013-10-25 12:09:39.39 Server Registry startup parameters: -d C:Program FilesMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLDATAmaster.mdf -e C:Program FilesMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLLogERRORLOG -l C:Program FilesMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLDATAmastlog.ldf 2013-10-25 12:09:39.49 Server SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required. 2013-10-25 12:09:39.49 Server Detected 2 CPUs. This is an informational message; no user action is required. 2013-10-25 12:09:41.35 Server Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node. This is an informational message only. No user action is required. 2013-10-25 12:09:42.98 Server Node configuration: node 0: CPU mask: 0x00000003 Active CPU mask: 0x00000003. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required. 2013-10-25 12:09:43.54 spid7s Starting up database 'master'. 2013-10-25 12:09:43.82 spid7s 1 transactions rolled forward in database 'master' (1). This is an informational message only. No user action is required. 2013-10-25 12:09:43.89 spid7s 0 transactions rolled back in database 'master' (1). This is an informational message only. No user action is required. 2013-10-25 12:09:43.89 spid7s Recovery is writing a checkpoint in database 'master' (1). This is an informational message only. No user action is required. 2013-10-25 12:09:44.53 spid7s FILESTREAM: effective level = 0, configured level = 0, file system access share name = 'SQLEXPRESS'. 2013-10-25 12:09:45.04 spid7s SQL Trace ID 1 was started by login "sa". 2013-10-25 12:09:45.12 spid7s Starting up database 'mssqlsystemresource'. 2013-10-25 12:09:45.14 spid7s The resource database build version is 10.00.1600. This is an informational message only. No user action is required. 2013-10-25 12:09:45.48 spid10s Starting up database 'model'. 2013-10-25 12:09:45.48 spid10s Error: 17204, Severity: 16, State: 1. 2013-10-25 12:09:45.48 spid10s FCB::Open failed: Could not open file e:sql10_main_tsqlmkmastrdatabasesobjfrei386model.mdf for file number 1. OS error: 3(Системе не удается найти указанный путь.). 2013-10-25 12:09:45.56 spid7s Server name is 'WWWMMSQLEXPRESS'. This is an informational message only. No user action is required. 2013-10-25 12:09:45.59 spid10s Error: 5120, Severity: 16, State: 101. 2013-10-25 12:09:45.59 spid10s Unable to open the physical file "e:sql10_main_tsqlmkmastrdatabasesobjfrei386model.mdf". Operating system error 3: "3(Системе не удается найти указанный путь.)". 2013-10-25 12:09:45.68 spid10s Error: 17207, Severity: 16, State: 1. 2013-10-25 12:09:45.68 spid10s FileMgr::StartLogFiles: Operating system error 2(Не удается найти указанный файл.) occurred while creating or opening file 'e:sql10_main_tsqlmkmastrdatabasesobjfrei386modellog.ldf'. Diagnose and correct the operating system error, and retry the operation. 2013-10-25 12:09:45.73 spid10s File activation failure. The physical file name "e:sql10_main_tsqlmkmastrdatabasesobjfrei386modellog.ldf" may be incorrect. 2013-10-25 12:09:45.73 spid7s Informational: No full-text supported languages found. 2013-10-25 12:09:45.75 spid10s Error: 945, Severity: 14, State: 2. 2013-10-25 12:09:45.75 spid10s Database 'model' cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details. 2013-10-25 12:09:45.75 spid10s Could not create tempdb. You may not have enough disk space available. Free additional disk space by deleting other files on the tempdb drive and then restart SQL Server. Check for additional errors in the event log that may indicate why the tempdb files could not be initialized. 2013-10-25 12:09:45.76 spid10s SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an informational message only; no user action is required. 2013-10-25 12:09:45.76 spid7s Starting up database 'msdb'. Добавлено через 18 минут
‘e:sql10_main_tsqlmkmastrdatabasesobjfrei386 modellog.ldf’ В строке (например) «35» Прописан адрес на диске e: 0 |
3317 / 2027 / 722 Регистрация: 02.06.2013 Сообщений: 4,972 |
|
25.10.2013, 10:05 |
18 |
У вас сервер не может найти файлы системной БД model (model.mdf и modellog.ldf), которые должны быть в e:sql10_main_tsqlmkmastrdatabasesobjfrei386 Добавлено через 4 минуты 1 |
0 / 0 / 0 Регистрация: 19.10.2013 Сообщений: 26 |
|
25.10.2013, 10:16 [ТС] |
19 |
По инструкции с программой и по порядку выполнения действий, Но диск «е» ни где не указывал. Это где то было по умолчанию прописано. Средство проверки конфигурации ни чего не выявило: 0 |
invm 3317 / 2027 / 722 Регистрация: 02.06.2013 Сообщений: 4,972 |
||||||||
25.10.2013, 10:42 |
20 |
|||||||
Waler, чудес не бывает. Либо пути указаны при установке, либо была подменена БД master.
Для каждого неверно расположенного файла установите правильное раположение инструкцией
1 |
- Главная
- Новости
- Что делать, если не стартует служба SQL Server (подробный алгоритм устранения проблем)
Средь моря проблем, с которыми сталкиваются пользователи ПК, есть следующая: невозможность запустить службу SQL Server. Итак!
При попытке установить и запустить SQL Server ваша система выдает вам следующее сообщение:
«Не удалось запустить службу SQL Server. Для получения дополнительных сведений см. в разделах документации по SQL Server…» и тд. Также прилагается код ошибки, под номером 29503.
Почему так произошло? Причин может быть несколько, но все они разрешимы.
Причина №1: служба SQL Server не устанавливается в виду того, что согласованность (соотношение) между физическими сокетами и логическими процессорами системы не имеет степень числа 2. Либо физические ядра не имеют степень 2. И, наконец, если общее наличие процессоров является нечетным.
Устранение проблемы: необходимо поменять число логических процессоров в ОС Windows 2003. Вот ваш алгоритм: «Пуск» — «Выполнить». В командную строку «Открыть» впишите команду msconfig и нажмите на кнопку «Ок» или «Enter». Вы окажетесь в окне «Настройка системы». Здесь вы увидите вкладки, среди которых будет вкладка «BOOT.INI» — кликайте на ней.
В открывшемся окне жмите кнопку «Дополнительно». Поверх основного окна появится ещё одно окно, озаглавленное, как «Доп. параметры BOOT.INI». В нем вы увидите список, в котором вас интересует строчка «/NUMPROC» — поставьте в этой клеточке «птичку». Видите стрелочку вниз? Нажмите на неё, выберите значение 1 (один) и нажмите на «Ок». Далее нажимаете на «Ок» в окне «Настройка системы». Перезагружаете сервер и теперь можете устанавливать ваш SQL Server 2005. И не забудьте про пакет последних обновлений для этой службы. А после этого снова войдите в «Выполнить» — «Открыть» — впишите msconfig — «нажмите на «Ок» — «Настройки системы» — «Доп. параметры BOOT.INI» и снимите «птичку», которую вы ставили возле «/NUMPROC».
Причина №2: вы не можете запустить службу SQL Server в виду того, что в учетной записи сетевой служба просто нет разрешения для папки (или подпапки).
Решается проблема довольно просто: необходимо предоставить учетной записи NETWORK Service все права доступа к папке. Делается это посредством такого алгоритма: заходите в «Свойства Microsoft» — кликаете на вкладку «Безопасность» — выделяете запись NETWORK Service и в нижнем поле ставите «птичку» в клеточке возле строчки «Полный доступ». Также вы можете в параметрах настройки SQL поменять учетную запись на «Локальную систему» (англ. — Local system).
Причина №3: установка SQL Server производится файловой структурой FAT. Уже давно известно, что FAT — это не лучшее «начало дня». Поэтому, дабы решить создавшуюся проблему рекомендую просто перейти с FAT на NTFS.
Причина №4: вы не можете запустить SQL лишь по той причине, что ваш компьютер не состоит в домене! А параметр «domain» может просто отсутствовать в реестре вашей ОС Windows. (Он должен находится в ветке HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters). Решить проблему очень просто: надо создать недостающий пустой строковый параметр «domain». Алгоритм: «Пуск» — «Выполнить» — regedit — «Ок» — «Редактор реестра» — ветка HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters. В правой части кликаете правой кнопкой мышки на пустом участке поля. Выпадет строчка «Создать». Наводим стрелочку на эту строчку и видим список, в котором есть строка «Строковый параметр».
Выбираем эту строку и создаем пустышку — пустой строковый параметр. (Извините за частое употребление слов «строка» и «строковый», но я делаю эту лишь для того, чтобы вы видели четкий алгоритм). Создав пустой параметр, можете смело закрывать все окна и запускать ваш SQL — всё будет работать.
Всего вам доброго и до новых встреч!
Популярные статьи
ИТ аудит
Что такое IT-аудит? Это независимый экспертный анализ эффективности…
IT-аутсорсинг
Компания «ИТ-РП» — это команда профессионалов, которая возьмет на…
Контакты
ИТ услуги
Новости
Содержание статьи:
-
- SQL-сервер не найден или недоступен, ошибки соединения с SQL-сервером
- Ошибка SQL-сервера 26
- Ошибка SQL-сервера 18456
- Не удалось запустить SQL-server — код ошибки 3417
- Повреждена база данных
- Код ошибки SQL-сервера 945
- Код ошибки SQL-сервера 5172
- Ошибка SQL-сервера 823
- Ошибка SQL-сервера 8946
- Другие ошибки SQL Server
- Код ошибки SQL-сервера 1814
- Код ошибки SQL-сервера 1067
- SQL-сервер запускается, но работает слишком медленно
- SQL-сервер не найден или недоступен, ошибки соединения с SQL-сервером
- Если SQL-сервер не найден, убедитесь, что ваш экземпляр SQL-сервера действительно установлен и запущен. Для этого зайдите на компьютер, где он установлен, запустите диспетчер конфигурации SQL и проверьте, есть ли там тот экземпляр, к которому вы пытаетесь подключиться и запущен ли он. Нелишним будет также получить отчет об обнаружении компонентов SQL-серверов.
- Если вы проделали п1. и не обнаружили источник проблемы, возможно, неверно указан IP-адрес компьютера или номер порта TCP. Перепроверьте их настройки.
- Причиной того, что невозможно подключиться к SQL-серверу, также может быть сеть, убедитесь, что компьютер с SQL-сервером доступен по сети.
- Проверьте, может ли клиентское приложение, установленное на том же компьютере, что и сервер, подключиться к SQL-серверу. Запустите SQL Server Management Studio(SSMS), в диалоговом окне “Подключиться к серверу” выберите тип сервера Database Engine, укажите способ аутентификации “Аутентификация Windows”, введите имя компьютера и экземпляра SQL-сервера. Проверьте подключение.
Обратите внимание, что многие сообщения об ошибках могут быть не показаны или не содержат достаточной информации для устранения проблемы. Это сделано из соображений безопасности, чтобы при попытке взлома злоумышленники не могли получить информацию об SQL-сервере. Полные сведения содержатся в логе ошибок, который обычно хранится по адресу C:Program FilesMicrosoft SQL ServerMSSQL13.MSSQLSERVERMSSQLLogERRORLOG, или там, куда его поместил администратор системы.
Ошибка SQL-сервера 26
Одна из наиболее часто встречающихся ошибок подключения к SQL-серверу, обычно связана с тем, что в настройках SQL-сервера не разрешены или ограничены удаленные соединения. Чтобы это исправить, попробуйте:
- в SSMS в настройках SQL-сервера включите аутентификацию Windows
- для брандмауэра Windows создайте новое правило, которое разрешает подключение для всех программ и протоколов с указанного IP-адреса
- убедитесь, что запущена служба SQL Server Browser
Ошибка SQL-сервера 18456
Эта ошибка означает, что попытка подключиться к серверу не успешна из-за проблем с именем пользователя или паролем. По коду ошибки в журнале ошибок можно узнать более точную причину, чтобы устранить ее.
Не удалось запустить SQL-server — код ошибки 3417
Возникает в случае, если были изменены настройки Windows или перемещена папка с файлами MSSQL.
- зайдите в C:Program FilesMicrosoft SQLServerMSSQL.1MSSqLData — БезопасностьНастройки доступа — Учетная запись сетевой службы — добавьте учетную запись сетевой службы
- проверьте, что MDF-файл не сжимается. Если это не так, отключите “Сжимать содержимое для экономии места на диске” в свойствах файла
Иногда ни один из этих способов не помогает, это значит, что файлы БД повреждены и ее придется восстанавливать из резервной копии.
Повреждена база данных
Код ошибки SQL-сервера 945
Ошибка 945 возникает, когда БД SQL-сервера помечена как IsShutdown. Проверьте, достаточно ли места на диске, достаточно ли прав у учетной записи для операций с БД, файлы MDF и LDF не должны быть помечены “Только для чтения”.
Код ошибки SQL-сервера 5172
SQL-сервер хранит свою физическую БД в первичном файле, в котором информация разбита постранично. Первая страница содержит информацию о заголовке mdf-файла и называется страницей заголовка. Она состоит из разнообразной информации о БД, такой как размер файла, подпись и т.д. В процессе прикрепления MDF на SQL-сервере часто возникает ошибка 5172. Это в основном происходит, если MDF-файл поврежден, информация в его заголовке тоже и соответственно сложно добраться до данных. Причиной может быть вирус, аварийное выключение системы, ошибка оборудования.
Ошибка SQL-сервера 823
SQL использует API Windows для операций ввода-вывода, но кроме завершения этих операций SQL проверяет все ошибки обращений к API. Если эти обращения несовместимы с ОС, появляется ошибка 823. Сообщение об ошибке 823 означает, что существует проблема с базовым оборудованием для хранения данных или с драйвером, который находится на пути запроса ввода-вывода. Пользователи могут столкнуться с этой ошибкой, если в файловой системе есть противоречия или поврежден файл базы данных.
Ошибка SQL-сервера 8946
Основной причиной ошибки 8946 так же, как и для 5172, является повреждение заголовков страниц БД SQL вследствие сбоя питания, вирусной атаки, отказа оборудования — SQL-сервер больше не может прочесть эти страницы.
Перечисленные ошибки 945, 5172, 823, 8946 можно устранить двумя методами:
- если у вас есть свежая резервная копия базы — восстановить базу из этой копии
- можно попробовать использовать специализированное ПО, такое как SQL Recovery Tool, чтобы восстановить поврежденные файлы
Желательно определить, что именно привело к возникновению ошибок и принять меры, чтобы это не повторялось — заменить плохо работающее оборудование, повысить информационную безопасность.
Другие ошибки SQL
Код ошибки SQL-сервера 1814
SQL-сервер не может создать базу данных tempdb. Убедитесь, что на выделенном под нее диске достаточно места и что у учетной записи хватает прав для записи в указанную директорию.
Код ошибки SQL-сервера 1067
Эта ошибка может возникать по разным причинам. Наиболее часто оказывается, что повреждены или отсутствуют конфигурационные файлы, SQL-сервер обращается к поврежденным системным файлам, ошибочные данные пользователя, нет информации про лицензию. В самых тяжелых случаях придется переустанавливать SQL-сервер. Но иногда помогает восстановление поврежденных файлов или изменение настроек SQL-сервера — вы можете создать новую учетную запись в домене и использовать ее для службы MSSQL.
SQL-сервер запускается, но работает слишком медленно
Проанализируйте журнал сервера, индексы (фрагментацию), запросы, задания, возможность взаимных блокировок. Причин может быть масса.
Мы работаем с разными версиями SQL-сервера уже много лет, знакомы со всевозможными инструкциями SQL-сервера, видели самые разные варианты его настройки и использования на проектах у своих клиентов. В целом мы можем выделить четыре основных источника неполадок:
- Индексы — причина проблем номер один. Неправильные индексы, отсутствующие индексы, слишком много индексов и подобное. Чаще всего при проблеме с индексами пользователи или администраторы базы данных не получают сообщения об ошибке, они просто видят, что база работает очень медленно и докопаться до причин бывает очень нелегко
- изначально плохая архитектура сервера баз данных — ошибка, которую очень сложно и дорого исправлять на этапе, когда база уже используется
- плохой код, в котором возможны блокировки и тупиковые места
- использование конфигурации по умолчанию,
Если у вас не получается устранить ошибки сервера SQL-server самостоятельно, если они появляются снова и снова, то скорее всего в основе лежит одна из этих причин. В таком случае — если у вас произошла ошибка с SQL сервером, ваше ПО не видит SQL-сервер, либо нужно развернуть кластер SQL-серверов — вы всегда можете обратиться за консультацией и технической поддержкой к специалистам Интегруса, отправив заявку с сайта, написав на e-mail, либо позвонив в колл-центр нашей компании.
Присоединяйтесь к нам,
чтобы получать чек-листы, реальные кейсы, а также
обзоры сервисов раз в 2 недели.
думаю, что у вас просто закончились динамические порты в системе…..
ошибка (учитывая что изменение max_connection не помогает) формируется вовсе не из за mysql , а из-за невозможности винды предоставить нужное число портов.
WSAEADDRINUSE
(10048)
Address already in use.
Only one usage of each socket address (protocol/IP address/port) is normally permitted. This error occurs if an application attempts to bind a socket to an IP address/port that has already been used for an existing socket, or a socket that wasn’t closed properly, or one that is still in the process of closing. For server applications that need to bind multiple sockets to the same port number, consider using setsockopt(SO_REUSEADDR). Client applications usually need not call bind at all — connectwill choose an unused port automatically.»
что в общем случае означает —
Address already in use (Адрес уже используется).
Обычно разрешено только одно использование адреса сокета (проткол/адрес IP/порт). Эта ошибка возникает, когда приложение пытается привязаться к сокету функцией bind(), но комбинация адрес IP/порт уже используется существующим сокетом, или сокет не был корректно закрыт, или продолжается процесс закрытия сокета. Для серверных приложений, требующих привязки нескольких сокетов к одному и тому же номеру порта следует использовать setsockopt(SO_REUSEADDR). Клиентские приложения обычно не используют bind() — функция connect() автоматически выбирает неиспользуемый порт.
В вашем случае, при возрастании числа запросов к базе, когда открывается и закрывается куча подключений к базе, то оти попросту не успевают закрыться. Обратите внимание, что речь идет не о том, чтобы не забыть закрыть подключение mysql, а о том, что ресурсы для НОВОГО подключения освободятся не сразу….
Если мне память не изменяет, то есть в реестре пара параметров, которые на это влияют.
один из них — TcpTimedWaitDelay. Этот параметр определяет интервал времени, в течение которого подключение находится в состоянии ожидания, прежде чем будет закрыто. Пока подключение находится в состоянии ожидания, пара сокетов не может быть использована повторно. А согласно RFC793, данное значение должно в два раза превышать максимальное время жизни пакета.
Если учесть что в Windows XP и Microsoft Windows Server 2003 значение по умолчанию было установлено на 120 секунд, то получается что целых 2 минуты система просто ждет никому не отдавая уже освободившийся ресурс.
ищем тут
- Код: Выделить всё • Развернуть
-
HKLMSYSTEMCurrentControLSetServicesTcpipParametersTcpTimedWaitDelay
и уменьшаем значение.
если нет, то создаем
REG_DWORD – время в секундах , с допустимыми параметрами 30-300 (в десятичной системе)
и второй параметр это MaxUserPort
находится он в
- Код: Выделить всё • Развернуть
-
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
имеет тип DWORD и допустимые значения от десятичных 5000 (по умолчанию) до 65534
он определяет максимальный номер порта, который используется, когда программа запрашивает у системы доступный пользовательский порт.
в итоге изначально имеем в системе всего 5000-1024 = 3976 портов, доступных для приложений, да еще и повторно использовать их можно не чаще раза в 2 минуты…
отпишитесь, плиз, помогло написанное или нет ?
p.s. если параметра нет в реестре, то это не значит что он не используется, просто его значение принимается системой по умолчанию…..
по итогам размышлений над
http://bugs.mysql.com/bug.php?id=10498
и
http://bugs.mysql.com/bug.php?id=6580
Лучше установить FreeBSD, чем потратить 20 лет на Linux’ы и выяснить какой из них хуже.
I’m writing a custom TCP server and client and on doing a ton of requests (60,000 to be exact) I begin to get this socket error of 10048, which should mean «the address is already in use.»
The error keeps happening unless I pause the process for like 2 or 3 minutes and then begin it again, and then it begins to bring up the same error a short while after restarting it. If I pause the client process and restart the server process, I still get the same error on the client. So it is a complete client side problem.
This does not make sense though, this error only usually occurs when binding and this error happens on the client and not the server. What could be the possible reasons for it?
A small excerpt of my initialization:
TcpClient client = new TcpClient();
client.Connect("XXXXX -- some ip", 25000);
client.NoDelay = true;
NetworkStream clientStream = client.GetStream();
Also, everything else seems to be working fine(including the amount of time it takes to send back and forth) and this works perfectly when using 127.0.0.1
but when putting it on another LAN computer I begin to get the 10048 error.
Is there something wrong with how I initialize it? What else could cause this error on the client side?
фон:
Недавно, когда я делал модель сети ввода -вывода, я столкнулся с проблемой. После того, как клиентское программное обеспечение подключено к серверу, не было возможности подключиться в течение длительного времени после периода времени. Позже было обнаружено, что розетка одного и того же порта клиента (Windows) не выпустил эту ручку через две минуты после закрытия, поэтому Bind-> Connect не удалось. Wsagetlasteror () возвращает 10048 ошибок.
10048: Обычно каждый набор слов (протокол/сетевой адрес/порт) допускает только один раз.
Проблема связана:
Описание MSDN выглядит следующим образом:
Эта ошибка часто возникает в функции связывания. Когда привязка, которая была привязкой, занята, в одном и том же порте возникает ошибка, но эта ошибка не влияет на выполнение привязки. Другими словами, второе выполнение Бинга во второй раз Ошибков нет, но при вызове Connect (). Код ошибки составляет 10048.
Когда приложения привязывают привязанность при использовании привязки случайного порта, если порты между 1024 ~ 5000, зарезервированными операционной системой, заняты, BIND не ошибся, а Contect не удастся.
При каких обстоятельствах порт будет занят?
Ситуация 1: Если данные подвергаются данным по каждому порту, порт находится в состоянии занятия.
Ситуация 2: Частота подключения слишком быстрая. После того, как Closocket используется для отключения операции, хотя CloseSocket выполняется, соответствующий порт занятий не сразу не высвобождается. Эти порты нуждаются в максимальном цикле выживания), максимальное значение По умолчанию 4 минуты. Используйте команду NetStat, чтобы просмотреть состояние порта, порт отображает time_wait, и если тот же порт подключен через 4 минуты, возникнут ошибки 10048.
иллюстрировать:
Когда новая версия клиента подключена к серверу при входе в систему, сокет имеет фиксированный порт привязки (старая версия не имеет фиксированного порта привязки. Сервер обсуждает его для определения этого).
В соответствии с Windows система будет поддерживать 2 TTL (около 120S) для каждого соединения (включая закрытое соединение), а выпуск ресурса будет выпущен для следующего использования.
Может быть, вы спросите, почему это не ошибка 10048 каждый раз? Причина в том, что время, когда вы входите в систему для непрерывного входа, превысили 120 -е годы. Вторая причина в том, что виртуальные машины сначала закрывают предыдущую ссылку, когда клиентские виртуальные машины.
Ранее не было ошибок 10048, поскольку предыдущий клиент -сокет не связывал фиксированный порт, но был случайным образом назначен Windos, поэтому вероятность ошибок 10048 была значительно уменьшена. Тем не менее, Windows ограничивает общее количество локальных портов составляет 5000. Мы можем обнаружить, что если непрерывный подключение непрерывно, если Windows будет использовать 5000 портов, Connect также будет иметь 10048 ошибок.
Решение:
1. Случайно выделяли неиспользованные порты из Windos
addr.sin_port = 0; // Если порт указан в 0, когда привязка вызвана, система будет указывать доступный номер порта для него
2. Если используется функция связывания, вы можете указать порт привязки. Если подключение сбоя не сбои, то вернитесь к привязке, чтобы изменить порт привязки, а затем продолжить подключение до тех пор, пока он не преуспеет.
3. Если функция связывания не используется и не подключается непосредственно с Connect, вы можете выполнить повторную попытку при операции подключения. В этом случае, если подключение сбой, то порт сбоя вызова будет подключен до тех пор, пока она не будет вызвана до тех пор, пока она не будет вызвана. Соединение подключено до успеха подключения.
Случайным образом получить доступный номер порта:
Идея: привязана к этой машине и используйте GetSockName для получения этого номера порта, связанного с гнездом
Объявление функции:
bool getAvaliablePort(unsigned short &port);
// Возврат: если успешно это правда, иначе это ложь
* @Brief Получите доступный порт
*
* @param port: output, возврат доступный номер порта
*
* @Return, если вы добьетесь успеха, верните True, иначе вы вернете ложь
*/
bool getAvaliablePort(unsigned short &port)
{
bool result = true;
// 1. Создать розетку
SOCKET sock = socket(AF_INET, SOCK_STREAM, 0);
// 2. Создайте Sockaddr и установите номер порта на 0
struct sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = htonl(ADDR_ANY);
addr.sin_port = 0; // Если порт указан в 0, когда привязка вызвана, система будет указывать доступный номер порта для него
// 3. Переплет
int ret = bind(sock, (SOCKADDR*)&addr, sizeof addr);
if (0 != ret) {
result = false;
goto END;
}
// 4. Используйте GetSockName, чтобы получить
struct sockaddr_in connAddr;
int len = sizeof connAddr;
ret = getsockname(sock, (SOCKADDR*)&connAddr, &len);
if (0 != ret){
result = false;
goto END;
}
port = ntohs (connaddr.sin_port); // Получить номер порта
END:
if ( 0 != closesocket(sock) )
result = false;
return result;
}
Ссылаться на:https://www.cnblogs.com/hdtianfu/archive/2012/10/20/2732675.html
https://blog.csdn.net/qq_17242957/article/details/43053961
https://bbs.csdn.net/topics/390292355