BUG: Cross-database table creation/drop in stored procedure (148224)



The information in this article applies to:

  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Standard Edition

This article was previously published under Q148224
BUG# NT: 13656 (6.00)
BUG# 225688 (shiloh_bug)

SYMPTOMS

After the database owner (dbo) of a database creates a stored procedure that creates a table in another database, inserts data into the table, selects from the table, and then drops it, the dbo then grants execute permission on this procedure to a user who is a user in both databases. When the user executes the procedure, it executes fine the first time, but on the second time and each time thereafter, the user gets the following error messages:
Msg 2714, Level 16, State 1
There is already an object named 'tblname' in the database.
Msg 267, Level 16, State 1
Object '' cannot be found.

RESOLUTION

Use the WITH RECOMPILE option to either create or execute the procedure.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Modification Type:MajorLast Reviewed:2/9/2005
Keywords:kbBug kbusage KB148224