Article ID: 282455 - View products that this article applies to.
This article was previously published under Q282455
BUG #: 351222 (SQLBUG_80)
Binding 48 or more addresses to the network of a SQL Server computer causes an access violation exception to occur and the SQL Server server fails to start.
The exception that is logged to the SQL Server error log is:
42CF1ABA Module(SSNETLIB+00001ABA) (ConnectionListen+000008CA) 004E2CFA Module(sqlservr+000E2CFA) (FRunCM(class StartUp *)+000000D3) 004E3FA3 Module(sqlservr+000E3FA3) (initCM(void *)+00000064) 7800BEA1 Module(MSVCRT+0000BEA1) (_beginthread+000000CE) From build 8.00.194
The Ssnetlib.dll file attempts to listen on the first 64 socket addresses. A buffer overrun occurs, which causes the exception.
To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
(http://support.microsoft.com/kb/290211/EN-US/ )INF: How to Obtain the Latest SQL Server 2000 Service Pack
HotfixThe English version of this fix should have the following file attributes or later:
NOTE: Due to file dependencies, the most recent hotfix or feature that contains the preceding files may also contain additional files.
File name Platform ------------------------ Ssnet303.zip Intel
Prevent SQL Server from listening on sockets or ensure that only 47 addresses are bound to the local computer.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Microsoft SQL Server 2000 Service Pack 1.
SQL Server 2000 is designed to listen on up to 64 separate socket addresses. This correction avoids the exception and allows the Ssnetlib.dll file to correctly listen on the first 64 addresses bound on the computer.