BUG: Stored Procedure Holds EX_lock on a Table

ID: Q115245


The information in this article applies to:

BUG# NT: 789 (4.2)

SYMPTOMS

Executing a stored procedure that depends on a table which has been dropped and recreated after the creation of the SP will cause the following error:

Msg 229, Level 14, State 1
DELETE permission denied on object <table name>, database <db_name>,
owner dbo
Msg 229, Level 14, State 1
DELETE permission denied on object <table name>, database <db_name>,
owner dbo

Also, an exclusive lock will be retained on the table until another SQL command is executed by the process.

For example:

Login as sa (dbo of pubs)

Login as testuser

Msg 229, Level 14, State 1
DELETE permission denied on object test, database pubs, owner dbo
Msg 229, Level 14, State 1
DELETE permission denied on object test, database pubs, owner dbo

>From another process execute sp_lock


spid     locktype               table_id        page      dbname
------   --------------------   -----------     -----     -------------
3        Sh_intent              496004798       0         master
3        Ex_extent              0               128       tempdb
4        Ex_table               688005482       0         pubs 


WORKAROUND

Drop and recreate the stored procedure in question.


STATUS

Microsoft has confirmed this to be a problem in Microsoft SQL Server version 4.2. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

Additional query words: sysdepends sysprocedures Windows NT


Keywords          : kbprg SSrvStProc kbbug4.20 SSrvWinNT 
Version           : 4.2 4.21
Platform          : WINDOWS 
Issue type        : 

Last Reviewed: March 19, 1999