Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 призраки в tempdb?  [new]
Alexander Us
Member

Откуда:
Сообщений: 1133
SQL Server 2005 SP4

В tempdb содержится некоторе количество пустых таблиц вида типа
dbo.#7C8480AE
dbo.#7D78A4E7
итд. где имя таблицы = object_id in HEX
select Name, object_id, cast(object_id as varbinary(4)) from sys.objects where name like '#%'


Все таблицы без сток.
Некоторые занимают немного дискового пространства.
Некоторые содержат столбцы, соответствующие табличным переменным из моих запросов.
При дисконнекте, рестарте сервера таблицы не исчезают.

Кто знает, откуда берутся эти таблицы и главное:

почему они не удаляются автоматически?
19 мар 13, 15:20    [14067942]     Ответить | Цитировать Сообщить модератору
 Re: призраки в tempdb?  [new]
Glory
Member

Откуда:
Сообщений: 104760
если на "монопольном" сервере выполнить, то можно увидеть
declare @t table(f1 int)
select * from tempdb..sysobjects where name like '#%'
19 мар 13, 15:24    [14067964]     Ответить | Цитировать Сообщить модератору
 Re: призраки в tempdb?  [new]
Alexander Us
Member

Откуда:
Сообщений: 1133
Glory,
да, так и есть: табличные переменные.

Но почему некоторые таблицы не удаляются?
19 мар 13, 15:27    [14067980]     Ответить | Цитировать Сообщить модератору
 Re: призраки в tempdb?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Alexander Us
Но почему некоторые таблицы не удаляются?

Потому, что это табличные переменные того же коннекта, в котором вы выполняете свой запрос ?
19 мар 13, 15:31    [14067995]     Ответить | Цитировать Сообщить модератору
 Re: призраки в tempdb?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Alexander Us
При рестарте сервера таблицы не исчезают.

Исчезают. Попробуйте рестартовать сервер без SQL Server Agent и посмотрите, сколько найдётся таких таблиц.
19 мар 13, 15:33    [14068001]     Ответить | Цитировать Сообщить модератору
 Re: призраки в tempdb?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Они могут жить в tempdb пока живы планы выполнения, в которых эти таблицы используются.
19 мар 13, 16:00    [14068174]     Ответить | Цитировать Сообщить модератору
 Re: призраки в tempdb?  [new]
Alexander Us
Member

Откуда:
Сообщений: 1133
Гавриленко Сергей Алексеевич,

спасибо: после
DBCC FREEPROCCACHE
таблицы исчезли.
19 мар 13, 16:12    [14068274]     Ответить | Цитировать Сообщить модератору
 Re: призраки в tempdb?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Вот, обсуждали: https://www.sql.ru/forum/actualthread.aspx?bid=1&tid=957501&hl=tempdb
19 мар 13, 16:17    [14068331]     Ответить | Цитировать Сообщить модератору
 Re: призраки в tempdb?  [new]
Alexander Us
Member

Откуда:
Сообщений: 1133
Гавриленко Сергей Алексеевич
Вот, обсуждали: https://www.sql.ru/forum/actualthread.aspx?bid=1&tid=957501&hl=tempdb

Спасибо, там содержится очень хорошя ссылка
19 мар 13, 17:07    [14068708]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить