Как удалить таблицы #Temp_______hex?

Наша временная БД стала очень большой, и мы хотели бы ее очистить.

Когда я открываю папку tempdb, temptables, я замечаю похожие таблицы с такими именами:

#Somename________hexcode
#Someothername________hexcode

так далее...

мы знаем, что можем удалить их, потому что они не используются. Когда я запрашиваю системные объекты, они перечислены. Но когда я пытаюсь удалить их, он говорит, что они не существуют.

Любые идеи о том, как их удалить, будут приветствоваться. Спасибо.


person A.G.    schedule 11.09.2013    source источник
comment
Не используйте sysobjects, если вы не используете SQL Server 2000. Используйте sys.objects.   -  person Aaron Bertrand    schedule 11.09.2013
comment
ОК, но все тот же результат.   -  person A.G.    schedule 11.09.2013
comment
Это был общий совет, а не решение этой проблемы.   -  person Aaron Bertrand    schedule 11.09.2013
comment
Откуда вы знаете, что они не используются?   -  person Aaron Bertrand    schedule 11.09.2013


Ответы (1)


Вы не можете удалить таблицы #temp, созданные чужим сеансом. Вы можете очистить базу данных tempdb, запустив службу SQL Server или подождав, пока эти сеансы выйдут за пределы области действия, чтобы таблицы можно было уничтожить (для этого существует фоновый процесс). Этого может не произойти, если вы столкнулись с неясной ошибкой в ​​некоторых версиях со счетчиком Temp Tables for Destruction.

person Aaron Bertrand    schedule 11.09.2013