SYMPTOMS
If you apply SQL Server 2000 Service Pack 2 (SP2) to a server that has certificates installed and the
Force Protocol Encryption option is set ON in the server network utility, the setup fails with an error message and SQL Server no longer starts.
The error message in the Sqlsp.log is similar to:
16:24:45 C:\DOCUME~1\SomeUser\LOCALS~1\Temp\SqlSetup\Bin\scm.exe -Silent 1 -Action 1 -Service MSSQL$INSTANCE1 -StartupOptions \-T4022 \-T4010 \-m
16:39:51 Process Exit Code: (1460) This operation returned because the timeout period expired.
16:39:51 A service control operation failed for the MSSQL$INSTANCE1 service: 1460
This operation returned because the timeout period expired.
An error message also appears in the application event log:
19015 :
Encryption requested but no valid certificate was found. SQL Server terminating.
Because SQL Server will not start after you receive these error messages,
you are not able to modify the
Force Protocol Encryption setting by using the server network utility.
WORKAROUND
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
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.
To work around this problem, before you run the SQL Server 2000 SP2 setup, disable
Force Protocol Encryption. If you do not disable
Force Protocol Encryption and you receive the error messages shown in the "Symptoms" section, you must modify a key value in the registry. If you have to modify the registry, change the following registry key from 1 to 0, and then rerun the setup
For a Named instance, the registry key is:
HKLM\Software\Microsoft\Microsoft SQL Server\instancename\MSSQLServer\SuperSocketNetLib\Encrypt
For Default instance, the registry key is:
HKLM\Software\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Encrypt