Я устраняю неполадки в грязной хранимой процедуре и заметил, что после ее запуска и закрытия сессии многие временные таблицы все еще остаются в базе данных tempdb. У них есть имена, подобные следующим:
#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-bit. В настоящее время у меня есть более 1100 таких таблиц в базе данных tempdb, и я не могу от них избавиться. На сервере базы данных нет других пользователей.
В моем случае остановка и запуск SQL Server невозможны.
Спасибо!