BUG: MSDB Database May Not Be Created During Installation (178206)



The information in this article applies to:

  • Microsoft SQL Server 6.5

This article was previously published under Q178206
BUG #: 16977(SQLBUG_65)

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

During the installation of SQL Server 6.5, the MSDB database may not be created.

CAUSE

Installation of SQL Server is completed with SQL Server started in single user mode. Performing a default installation of SQL Server invokes the sp_sqlregister startup stored procedure. This procedure makes a loopback connection to the SQL Server. Occasionally, this connection succeeds and prevents the ISQL connection that creates MSDB from connecting. There are no errors in the SQL errorlog to indicate a failure. The following are the only indications of a failure:
  • MSDB is missing.
  • There is a "Login failed" error in the Instmsdb.out file.
  • There is an "Unable to write to Mailslot" error in the Windows NT application event log.

WORKAROUND

To work around this problem, do either of the following:
  • Use a modified Setup.inf file that enables trace flag 4022. This prevents the sp_sqlregister stored procedure from executing. You can also modify the Setup.inf file to remove the trace flag. This workaround requires you to copy all the files to the hard drive and run the installation from the hard drive after replacing the default Setup.inf with the modified one. -OR-

    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.


  • Using a .reg file, place the 4022 trace flag in the following registry location (note that this should all be on one line):
    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLSERVER\MSSQLSERVER\Parameters
    						
    With this method, you must remove trace flag 4022 from the registry either manually or by using the xp_regdelvalue stored procedure. This workaround allows the installation to be run from the SQL Server CD.
NOTE: If the HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer key does not exist before adding this parameter, when the key is created it will inherit the permissions of its parent key, HKEY_LOCAL_MACHINE\Software\Microsoft. By default, this parent key contains permissions for the groups Everyone and Creator Owner and, unlike the default installation of SQL Server, the HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer key will inherit these permissions. These permissions, in turn, lead to bug 17522 documented in Knowledge Base article 177066 - BUG: Security Manager Fails to Expand User Group. Follow the steps described in the workaround section of article Q177066 to remove permissions for both groups.

The files for both workarounds are in the Instmsdb.exe file located at ftp://ftp.microsoft.com/bussys/sql/public/

STATUS

Microsoft has confirmed this to be a problem in SQL Server 6.5.


Modification Type:MajorLast Reviewed:10/17/2003
Keywords:kbBug kbpending KB178206