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 4
Symptoms
After 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.You receive the error message when you use any one of the registry extended stored procedures in the following list: xp_regreadxp_instance_regreadxp_regenumkeysxp_instance_regenumkeysxp_regenumvaluesxp_instance_regenumvaluesxp_regwritexp_instance_regwritexp_regaddmultistringxp_instance_regaddmultistringxp_regremovemultistringxp_instance_regremovemultistringxp_regdeletevaluexp_instance_regdeletevaluexp_regdeletekeyxp_instance_regdeletekey
Resolution
This 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.’ This error message has nothing to do with the permissions of the SQL Server user account in the context of which one of these registry extended stored procedures is called. The error message occurs even if the user has Administrator permissions.
Note When you receive the error message, the registry extended stored procedure returns no results.
