Article ID: 887165 - Last Review: November 16, 2007 - Revision: 2.5 BUG: You may receive an "Access is denied" error message when a query calls an extended stored procedure after you upgrade from SQL Server 2000 to SQL Server 2000 Service Pack 4Important This article contains information about how to modify the
registry. Make sure that you back up the registry before you modify it. Make
sure that you know how to restore the registry if a problem occurs. For more
information about how to back up, restore, and modify the registry, click the
following article number to view the article in the Microsoft Knowledge Base: 256986
(http://support.microsoft.com/kb/256986/
)
Description of the Microsoft Windows registry On This PageSYMPTOMSAfter you upgrade a Microsoft SQL Server 2000-based computer
to Microsoft SQL Server 2000 Service Pack 4 (SP4), a SQL Server query that
calls a registry extended stored procedure may fail, and you receive the
following error message: Access is denied.
CAUSEThis problem occurs because SQL Server 2000 SP4 implements a
restriction on which registry paths the registry extended stored procedures can
access. When a query calls a registry extended stored procedure, the registry
extended stored procedure examines the requested registry subkey against a
control list of registry hives. If the registry subkey that the query requests
is not in the control list, you receive the following error message:
'Access is denied.' Note When you receive the error message, the registry extended stored procedure returns no results. RESOLUTIONWarning Serious problems might occur if you modify the registry
incorrectly by using Registry Editor or by using another method. These problems
might require that you reinstall the operating system. Microsoft cannot
guarantee that these problems can be solved. Modify the registry at your own
risk. Warning The registry extended stored procedures are undocumented and are subject to change. Therefore, we do not recommend that you call these procedures in your client code. Future implementations of these procedures may not be supported. Additionally, there is no guarantee that past implementations will continue to be supported in later versions of SQL Server. To resolve this problem, modify the registry key that controls access to the registry extended stored procedures. The control list is located in the registry under the MSSQLServer subkey. For a default instance of SQL Server 2000, locate the following subkey in the registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\ExtendedProcedures Note This registry key is not created when you apply SQL Server 2000
SP4 to a clustered instance of SQL Server.For a named instance of SQL Server 2000, locate the following subkey in the registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<Instance_name>\MSSQLServer\ExtendedProcedure In the ExtendedProcedure subkey, there are two REG_MULTI_SZ registry entries:
Note Instance_name is the name of the SQL Server 2000 named instance.
Xp_regread allowed pathsThe following is a sample for the Xp_regread Allowed Paths entry.Note INSTANCE is replaced with the actual name of an instance of SQL Server. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<INSTANCE> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\80 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQLServer HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\MSSQLServer HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\SQLCTRS HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\SQLServer HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQL$<INSTANCE> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ExtensionAgents HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLServer HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Services\SQLAgent$<INSTANCE> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation HKEY_CURRENT_USER\Software\Microsoft\Mail HKEY_CURRENT_USER\Control Panel\International Xp_regwrite allowed pathsThe following is a sample for the Xp_regwrite Allowed Paths entry.Note INSTANCE is replaced with the actual name of an instance of SQL Server. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<INSTANCE> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Services\SQLAgent$<INSTANCE> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\80\Replication MORE INFORMATIONWhen you install SQL Server 2000 Service Pack 4, the
installation program pre-populates both the Xp_regread
Allowed Paths registry entry and the Xp_regwrite Allowed Paths registry entry with the extended stored procedures that SQL
Server 2000 can access. For more information about SQL Server 2000 service packs, visit the following Microsoft Web site: http://technet.microsoft.com/en-us/sqlserver/bb331754.aspx
(http://technet.microsoft.com/en-us/sqlserver/bb331754.aspx)
| Article Translations
|
Back to the top
