我正在解決一個討厭的存儲過程,並且注意到在運行它之後,我關閉了會話,很多臨時表仍留在tempdb中。它們名稱類似以下內容:SQL Server 2005中的臨時表不會自動丟失
#000E262B
#002334C4
#004E1D4D
#00583EEE
#00783A7F
#00832777
#00CD403A
#00E24ED3
#00F75D6C
如果我運行此代碼:
if object_id('tempdb..#000E262B') is null
print 'Does NOT exist!'
我得到:
Does NOT exist!
如果我做的:
use tempdb
go
drop TABLE #000E262B
我得到錯誤:
Msg 3701, Level 11, State 5, Line 1
Cannot drop the table '#000E262B', because it does not exist or you do not have permission.
我以系統管理員身份連接到SQL Server。使用SP3 64位。我目前在tempdb中有超過1100個這樣的表,我無法擺脫它們。數據庫服務器上沒有其他用戶。
在我的情況下,停止和啓動SQL Server不是一個選項。
謝謝!
你在哪裏看到表格仍然存在呢? – 2009-10-22 13:49:07
使用tempdb 去 select * from INFORMATION_SCHEMA.tables – 2009-10-22 14:01:59