BUG: SQL 7.0 Desktop Edition Install on Windows 98 Causes "Assertion Failed File: ..\SRC\SQLSSPI.C Line: 119" (229608)



The information in this article applies to:

  • Microsoft SQL Server 7.0, when used with:
    • the operating system: Microsoft Windows 98
  • Microsoft SQL Server 2000 (all editions)

This article was previously published under Q229608
BUG #: 55333 (SQLBUG_70)

IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

The installation of SQL Server 7.0 covers several stages such as product registration, specifying program file locations, file copying, and various screen messages stating what components are being installed and configured. The installation process may reach the point of: "Connecting to server...", and stop responding. If you press CTRL-ALT-DELETE this message occurs:
Desktop Edition (Not responding).
If the task is stopped and the computer rebooted, the installation may appear to have finished since the SQL Server 7.0 program group may be present.

If you then attempt to connect with any of the client utilities such as SQL Enterprise Manager or Query Analyzer, the following error appears:
Microsoft Visual C++ runtime library
Assertion Failed
Program: C;\Windows\MMC.EXE
File: ..\SRC\SQLSSPI.C
Line: 119
Expression: Count
For information on how your program can cause an assertion fault, please see the Vision C++ Documentation on Assert.
(Press retry to debug the application-JIT must be enabled
{Retry} {Abort} {Ignore}
The SQL Server error log file located in the C:\MSSQL7\LOG\ERRORLOG directory may have the following lines:
ods      Error: 17826, Severity: 18, State: 1
ods      Could not set up ListenOn connection 'SERVERNAME'..
ods      Operating system error 1747., The authentication service is unknown.
				
The SQL Server 7.0 installation log file located in the C:\WINDOWS\SQLSTP.LOG directory may end with the following lines:
11:56:49 Desktop override enabled.
11:56:50 SetNewPath returned: 3010
11:56:50 Path successfully updated.
11:56:51 C:\MSSQL7\binn\cnfgsvr.exe  -Silent 2 -NoSampleDB 0 -SQLPath "C:\MSSQL7\" -SQLDataPath "C:\MSSQL7\" -SortID 52 -LCIDCompStyle "1033-196609" -HWND 

1164 -User sa -Pwd
				
Typically, the SQLSTP.log file should have many more lines past the last line in the preceding example.

Additionally, the SQL Server 7.0 installation's configuration log file located in the C:\MSSQL7\INSTALL\CNFGSVR.OUT directory may end with the following lines:

Starting Service ...
Connecting to Server ...
driver={sql server};server=MACHINENAME;UID=sa;PWD=;database=master

Typically, the CNFGSVR.out file should have many more lines past the last line in the preceding example.

CAUSE

Running the SQL Server 7.0 setup on a Windows 98 computer that does NOT have "Client for MS Networks" as the "Primary Network Logon".

WORKAROUND

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.


In Windows 98 the default setting for Network properties is "Family Logon" for the primary logon, this is especially true if there is NO NETWORK CARD INSTALLED. Consequently, "Family Logon" may interfere with the SQL Server 7.0 install. To correct the error use the following:
  1. Uninstall SQL Server 7.0, either from the Microsoft SQL Server 7.0 program icon, or by using the Add/Remove icon in Control Panel. However, if this fails then manually delete the MSSQL7 directory, and remove the following registry key(s) if they exist:
    1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server 7.0
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLServerAgent
    2. Navigate to Control Panel and double-click Networking. Click the Configuration tab and check to see if "Client for MS Networks" is present in the Network properties. If it is, set it to "Primary Network Logon", reboot the computer and then reinstall SQL Server 7.0.
    3. If "Client for MS Networks" is not present, click the ADD button, choose "Client", select Microsoft, and then highlight "Client for MS Networks". Next, click OK, then reboot the computer. If prompted for a network card and no card exists, cancel out of the window and proceed to the next paragraph in this article. To avoid any future logon problems, make sure the properties of "Client for MS Networks" are examined. Make certain that the "Log on to Windows NT Domain" check box is NOT selected. NOTE: Be sure to have the Windows 98 CD available because a prompt for it may occur.
    4. Navigate to My Computer, then check to see if "Dial up Networking" is present. If it is not present, open Control Panel and choose the Add/Remove Programs icon. Go to the Windows Setup tab, highlight the Communications check box and press the Details button. Select "Dial up Networking" and then click OK.
    5. In Control Panel, choose the Network icon. Select the Configuration tab and choose "Client for MS Networks" as the Primary Network Logon. To avoid any future logon problems, review the properties for "Client for MS Networks" and make sure that the "Log on to Windows NT Domain" check box is NOT selected. Next, reboot the computer. NOTE: Be sure to have the Windows 98 CD handy because a prompt for it may occur.
    6. Reinstall SQL Server 7.0.
    After SQL 7.0 is installed, the "Primary Network Logon" may be changed from "Clients for Microsoft Networks", to "Family Login" if necessary, but "Clients for Microsoft Networks" must remain as one of the network components.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

This problem also affects SQL Server 2000 Personal Edition and the Desktop Engine on the Original Edition of Windows 98, but does not affect computers that use Windows 98 Second Edition. The symptoms of this problem on SQL Server 2000 are slightly different. The following are the log files and messages that you would see if this problem is occurring on your system.

If the installation reaches the point where the computer stops responding and displays the message:

Setup is starting and installing your chosen configuration...
					

then you should check to see if Client for MS Networks is missing or is not set as the Primary Network Logon.

The following is an example from the end of an SQLSTP.log file when this is the problem that is occurring:

22:00:29 End Action   ProcessAfterDataMove
22:00:29 Begin Action BuildServer:
22:00:29 Begin Action: CreateRegistrySetSQL
22:00:29 End Action: CreateRegistrySetSQL
22:00:29 Begin Action: RegWriteSetupEntry
22:00:29 End Action: RegWriteSetupEntry
22:00:29 Begin Action: CreateSer
22:00:29 End Action: CreateSer
22:00:29 Begin Action: SkuIt
22:00:29 End Action: SkuIt
22:00:30 Begin Action: UpdateSystemPath
22:00:30 SetNewPath returned: 3010
22:00:30 Path successfully updated.
22:00:30 End Action: UpdateSystemPath
22:00:31 C:\Program Files\Microsoft SQL Server\80\Tools\Binn\cnfgsvr.exe  -F "C:\WINDOWS\sqlstp.log" -I MSSQLSERVER -V 1 -M 0 -Q 

"SQL_Latin1_General_CP1_CI_AS" -H 680 -U sa -P 
###############################################################################


Starting Service ...

SQL_Latin1_General_CP1_CI_AS

-m -Q -T4022 -T3659

Connecting to Server ...

driver={sql server};server= COMPUTERSNAME;UID=sa;PWD=;database=master
					

You can also confirming if this problem is occurring by examining the SQL error log file to see if it is similar to this example:

2000-08-15 22:00:33.75 server    Microsoft SQL Server  2000 - 8.00.194 (Intel X86) 
	Aug 6 2000 00:57:48 
	Copyright (c) 1988-2000 Microsoft Corporation
	Personal Edition on Windows 4.10 (Build 1998:  )

2000-08-15 22:00:33.97 server    Copyright (C) 1988-2000 Microsoft Corporation.
2000-08-15 22:00:34.01 server    All rights reserved.
2000-08-15 22:00:34.04 server    Server Process ID is -144609.
2000-08-15 22:00:34.07 server    Logging SQL Server messages in file 'C:\SQL Server\MSSQL\log\ERRORLOG'.
2000-08-15 22:00:34.19 server    SQL Server is starting at priority class 'normal'(1 CPU detected).
2000-08-15 22:00:34.60 server    User Mode Scheduler configured for thread processing
2000-08-15 22:00:34.71 server    Using dynamic lock allocation. [500] Lock Blocks, [1000] Lock Owner Blocks
2000-08-15 22:00:35.13 spid3     Warning ******************
2000-08-15 22:00:35.16 spid3     SQL Server started in single user mode. Updates allowed to system catalogs.
2000-08-15 22:00:35.25 spid3     Starting up database 'master'.
2000-08-15 22:00:36.88 spid3     Server name is COMPUTERSNAME.
2000-08-15 22:00:36.93 spid3     Skipping startup of clean database id 4
2000-08-15 22:00:36.97 spid3     Skipping startup of clean database id 5
2000-08-15 22:00:37.00 spid3     Skipping startup of clean database id 6
2000-08-15 22:00:37.06 server    Using 'SSNETLIB.DLL' version '8.0.194'.
2000-08-15 22:00:38.11 spid5     Clearing tempdb database.
2000-08-15 22:00:38.28 server    Could not set up Net-Library 'SSNETLIB'.
2000-08-15 22:00:38.35 server    Operating system error -1073723998: kaO.
2000-08-15 22:00:38.44 server    Unable to load any netlibs.
2000-08-15 22:00:38.53 server    SQL Server could not spawn FRunCM thread.
					

A final way that reveals that this is the problem being encountered is if the following error message appears:
Microsoft Visual C++ runtime library
Assertion Failed
Program: C;\Windows\MMC.EXE
File: .q:\SPHINX\NETLIBS\nt\ssock\src\sqlsspi.c
Line: 124
Expression: Count
For information on how your program can cause an assertion failure, see the Vision C++ documentation on asserts
(Press retry to debug the application-JIT must be enabled)

Modification Type:MajorLast Reviewed:11/14/2003
Keywords:kbBug kbpending KB229608