1

我有一个名为table1created 的临时表,如下所示:

create tabletempdb..table1(id int)

该表不是由tempdb数据库的所有者创建的。

当我早些时候尝试使用此查询访问表时,在存储过程中(仅用于测试):

select top 10 * from tempdb..table1

我收到了这个错误:

Msg 208, Level 16, State 1:
 Server 'SERVER', Procedure 'storedProcedure', Line 30:
 tempdb..table1 not found. Specify owner.objectname or use sp_help to check whether the object
 exists (sp_help may produce lots of output).

但是,大约一个小时后,相同的存储过程运行没有任何问题。

在那一小时内,该表没有被删除并再次创建,我找不到这种奇怪行为的任何原因。我可以通过应用某种命名技巧来解决这个问题,但我不想将技巧插入到相当敏感的流程中,这意味着很多用户可能会删除并创建表。

我在问是否有人可以解释这种行为,以便我从现在开始避免它。

4

0 回答 0