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

Откуда:
Сообщений: 776
sql2012

Описано ли где-нибудь поведение отладчика, когда глобальная временная таблица, созданная внутри процедуры при отладке не выживает при следующем запуске отладки этой процедуры? Пропадает, даже если к этой таблице обратились из соседнего spid.
19 июл 16, 16:51    [19428075]     Ответить | Цитировать Сообщить модератору
 Re: Исчезновение временной ##таблицы при отладке  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
tunknown,

а что в справке "Инструкция CREATE TABLE" пишут о глобальных таблицах?
19 июл 16, 17:30    [19428288]     Ответить | Цитировать Сообщить модератору
 Re: Исчезновение временной ##таблицы при отладке  [new]
tunknown
Member

Откуда:
Сообщений: 776
Владислав Колосов
tunknown,

а что в справке "Инструкция CREATE TABLE" пишут о глобальных таблицах?

для не имеющих БОЛ или МСДН
Global temporary tables have two number signs (##) as the first characters of their names; they are visible to any user after they are created, and they are deleted when all users referencing the table disconnect from the instance of SQL Server.
19 июл 16, 17:49    [19428365]     Ответить | Цитировать Сообщить модератору
 Re: Исчезновение временной ##таблицы при отладке  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
tunknown,

Не то прочли.


автор
Глобальные временные таблицы автоматически удаляются при завершении сеанса, создавшего таблицу, и прекращении обращения к ним всех прочих задач.
Взаимосвязь между задачей и таблицей поддерживается только на время выполнения отдельной инструкции Transact-SQL.
Это означает, что глобальная временная таблица удаляется после выполнения последней инструкции языка Transact-SQL, активно обращавшейся к ней во время завершения создавшего таблицу сеанса.
19 июл 16, 17:55    [19428387]     Ответить | Цитировать Сообщить модератору
 Re: Исчезновение временной ##таблицы при отладке  [new]
leov
Member

Откуда: С-Петербург
Сообщений: 616
tunknown,

еще если ее под транзакцией создавали, а потом откатили
то она тоже пропадет
20 июл 16, 00:05    [19429424]     Ответить | Цитировать Сообщить модератору
 Re: Исчезновение временной ##таблицы при отладке  [new]
tunknown
Member

Откуда:
Сообщений: 776
leov
tunknown,

еще если ее под транзакцией создавали, а потом откатили
то она тоже пропадет
в моём случае транзакций нет


Владислав Колосов
tunknown,
Не то прочли.
Не то. Вторая фраза оставляет больше простора для воображения.
BOL
This means that a global temporary table is dropped at the completion of the last Transact-SQL statement that was actively referencing the table when the creating session ended.

Global temporary tables have two number signs (##) as the first characters of their names; they are visible to any user after they are created, and they are deleted when all users referencing the table disconnect from the instance of SQL Server.


Однако, остаётся вопрос с отладчиком. Что-то со SPID он делает, так что собственная ##таблица пропадает.
20 июл 16, 10:56    [19430194]     Ответить | Цитировать Сообщить модератору
 Re: Исчезновение временной ##таблицы при отладке  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
tunknown,

автор
при следующем запуске отладки этой процедуры
, очевидно, создается новое подключение.
20 июл 16, 13:40    [19430975]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить