BUG: Remote Setup Removes \sql\binn;\sql\dll From Path
ID: Q121149
|
The information in this article applies to:
-
Microsoft SQL Server version 4.2x
BUG# NT: 9834 (4.21)
SYMPTOMS
SQL Server may fail to start with the following error displayed in a
message box on the server:
SQLSERVR.EXE - Unable to Locate DLL
The dynamic link library opendsnt.dll could not be
found in the specified path c:\winnt\system32;
c:\winnt\system;c:\winnt.
If you attempt to start SQL Server using the SQL Service Manager, in
addition to the above server-side message, the following message may be
seen on the client (which could be the same physical machine):
SQL Service Manager
An error 1053 - (The service did not respond to the
start or control request in a timely fashion) occurred
while performing this service operation on the
SQLServer service.
CAUSE
If using the remote option of SQL Server setup to change configuration
options such as,
Auto Start Server At Boot Time,
setup will incorrectly remove the \sql\binn;\sql\dll path entries from the
server and add them to the path of the client. Following the next reboot of
the server machine (when the registry path entries are re-read), SQL Server
will fail to start.
You can verify whether SQL Server has failed to start because of missing
path entries by using the Control Panel System applet and inspecting the
System Environment Variables: listbox. You should see in your system path
environment variable something like this:
%SystemRoot%\system32;%SystemRoot%;C:\SQL\BINN;C:\SQL\DLL
If the SQL portions of your path are missing, it could be caused by this
problem.
WORKAROUND
Below are three different techniques to restore the SQL entries to your
path system environment variable.
The first technique involves using the RegistryRebuild option of SQL Server
setup to rebuild the pathname entries, as follows:
- On the server machine, from an operating system prompt, type:
cd \sql\binn
setup /t RegistryRebuild = ON
NOTE: The command must be typed exactly as entered, including spacing
and capitalization.
- Follow the on-screen directions.
This procedure is also documented on page 144 of the SQL Server
"Configuration Guide."
The second technique is possible on Microsoft Windows NT version 3.5. This
is not possible on Windows NT version 3.1.
Use the Control Panel System applet to append the SQL entries to
the path system environment variable.
See the printed or on-line documentation for the Control Panel System
applet for more information.
Since this problem also causes the path entries that are removed from
the remote machine to be added to the local machine, a similar
technique using the Windows NT version 3.5 Control Panel System
applet can be used to remove these extra entries.
The third technique involves using the Registry Editor tool REGEDT32.EXE,
which is in the \winnt\system32 directory, to reenter the SQL pathname
entries manually.
WARNING: Do not use Regedt32 unless you are familiar with it; a mistake
could render your system inoperable.
- From an operating system prompt, type:
start regedt32
- Navigate to the following key:
hkey_local_machine\system\CurrentControlSet\Control
\Session Manager\Environment
- Double-click the Path environment variable to edit it.
The existing entry will be highlighted.
- Press the "end" key to select the end of line, and type in a semicolon
followed by the correct path including the drive letter on which SQL
Server is installed.
For example:
;c:\sql\binn;c:\sql\dll
- Exit Registry Editor to save.
- Reboot the machine.
Since this same problem also causes the path entries that are removed from
the remote machine to be added to the local machine, a similar technique
using Registry Editor may be used to delete these extra entries, if
desired.
STATUS
Microsoft has confirmed this to be a problem in SQL Server version 4.21. We
are researching this problem and will post new information here in the
Microsoft Knowledge Base as it becomes available.
Additional query words:
Windows NT setup
Keywords : kbsetup SSrvInst kbbug4.21 SSrvWinNT
Version : 4.21
Platform : WINDOWS
Issue type :