FIX: SQL Server fails to bind TCP/IP port at startup (312935)
The information in this article applies to:
- Microsoft SQL Server 2000 (all editions)
- Microsoft SQL Server 7.0
This article was previously published under Q312935 BUG #: 76752 (MDAC Bugs) BUG #: 76801 (MDAC Bugs)
SYMPTOMSSQL Server unsuccessfully binds its server-side TCP/IP port
at startup. If this occurs: - Clients cannot make TCP/IP connections.
This article discusses one possible cause of this message.
Applying the fix that is referenced in this article only helps if you are
experiencing this exact same scenario. For other possible causes, see the
following articles in the Microsoft Knowledge Base:
293107 PRB: TCP\IP Port in Use by Another Application
319578 PRB: Error Message:"Bind Failed" Occurs After IP Address Changes on a Cluster
CAUSE Processes that are started from the SQL Server process
space can hold a resource which prevents the server from being able to bind its
TCP/IP port at startup. There are two scenarios that are currently known to
expose this problem:
- The execution of database maintenance plans by way of
SQLAgent jobs which execute the SQLMaint utility by using the xp_sqlmaint extended stored procedure.
NOTE: This includes SQLAgent jobs that facilitate log
shipping. - The execution of commands by way of the xp_cmdshell extended stored procedure.
To encounter this problem, the SQL Server process must
terminate after the child process begins execution and must be restarted before
the child process terminates.
RESOLUTIONA supported fix is now available
from Microsoft, but it is only intended to correct the problem that is
described in this article. Apply it only to computers that are experiencing
this specific problem. This fix may receive additional testing. Therefore, if
you are not severely affected by this problem, Microsoft recommends that you
wait for the next SQL Server service pack that contains this hotfix. To
resolve this problem immediately, contact Microsoft Product Support Services to
obtain the fix. For a complete list of Microsoft Product Support Services phone
numbers and information about support costs, visit the following Microsoft Web
site: NOTE: In special cases, charges that are ordinarily incurred for
support calls may be canceled if a Microsoft Support Professional determines
that a specific update will resolve your problem. The typical support costs
will apply to additional support questions and issues that do not qualify for
the specific update in question. The English version of
this fix for SQL Server 2000 SP1 should have the following file attributes or
later:
Date Time Version Size File name
--------------------------------------------------------------
30-Nov-2001 12:45 2000.80.472.0 86,588 Ssnetlib.dll
The English version of this fix for SQL Server 2000 SP2 should
have the following file attributes or later:
Date Time Version Size File name
--------------------------------------------------------------
14-Oct-2002 18:27 2000.80.692.0 82,492 Ssnetlib.dll
The English version of this fix for SQL Server 7.0 should have
the following file attributes or later:
Date Version Size File name
--------------------------------------------------
30-Nov-2001 2001.11.26.0 45,328 Ssmsso70.dll
NOTE: Because of file dependencies, the most recent hotfix or feature
that contains the files may also contain additional
files. WORKAROUND If you determine that the SQLMaint utility is preventing
SQL Server from binding its TCP/IP listen-on port at startup, the properties of
each SQLAgent job that executes the SQLMaint utility can be modified to work
around the problem. The essence of the workaround is to execute the
SQLMaint executable in an operating system command shell, as opposed to
executing the utility by using a call to the xp_sqlmaint extended stored procedure. Two changes are required to each job step that executes the
SQLMaint utility by using the xp_sqlmaint extended stored procedure.
- Modify the job step "Type" from "Transact-SQL Script
(TSQL)" to "Operating System Command (CmdExec)".
- Change the "Command" associated with the job step from an
extended stored procedure call to the direct execution of the SQLMaint
executable as described above.
- Replace the string "EXECUTE master.dbo.xp_sqlmaint" with "SQLMaint" (without the quotes).
- Remove the single quotes which encapsulate the
parameter list. You must delete the opening single quote, N', and the closing single quote, ', at the end of the parameter list.
The required changes are most easily demonstrated by way of an
example. Note the changes made to the following sample command. Before Required Changes:
EXECUTE master.dbo.xp_sqlmaint N'-PlanID 917F24D5-D71E-41B2-A2FB-FA538954F33E
-WriteHistory -BkUpMedia DISK -BkUpDB -UseDefDir -BkExt "BAK"'
After Required Changes:
SQLMaint -PlanID 917F24D5-D71E-41B2-A2FB-FA538954F33E
-WriteHistory -BkUpMedia DISK -BkUpDB -UseDefDir -BkExt "BAK"
STATUSMicrosoft
has confirmed that this is a problem in the Microsoft products that are listed
at the beginning of this article.
Modification Type: | Major | Last Reviewed: | 4/7/2006 |
---|
Keywords: | kbQFE KBHotfixServer kbbug kbfix kbSQLServ2000preSP2Fix kbSQLServ700preSP4fix KB312935 |
---|
|