Microsoft KB Archive/139283

{|
 * width="100%"|

BUG: Nested Stored Procedures with same owner fail with error

 * }

Q139283

-

The information in this article applies to:


 * Microsoft SQL Server version 6.0

-

BUG# NT: 11816 (6.00)

SYMPTOMS
If two stored procedures are created with the same object owner and the first stored procedure calls the second and the owner revokes Execute permissions on the second stored procedure, the execution of the second stored procedure will fail with the following error:

Msg 229, Level 14, State 1

EXECUTE permission denied on object ,

database, owner

Revoking the permissions on the second stored procedure should be allowed because permissions should only be checked on the first stored procedure since both objects have the same owner.

RESOLUTION
Do not revoke permissions to the nested stored procedure (sp2 in the code sample above) since, by default, only the object owner can execute their own stored procedure unless a Grant is performed.

STATUS
Microsoft has confirmed this to be a problem in Microsoft SQL Server version 6.0.

MORE INFORMATION
For more information on Ownership Chains, see the SQL Server "Administrator's Companion," Part 4 (Security), Chapter 8 (Security Concepts), then topics on "About Permissions," "Permissions on Views and Stored Procedures," and "Ownership Chains."

This also effects extended stored procedures such as xp_cmdshell.

Additional query words: sql6 grant revoke

Keywords : kbprogramming

Issue type : kbbug

Technology : kbSQLServSearch kbAudDeveloper kbSQLServ600