В моем серверном коде я создаю временную таблицу (с именем #temp), вставляю некоторые данные и затем удаляю временную таблицу. Если бы более 1 пользователя запускали этот раздел кода (создание временной таблицы) одновременно, создавал бы sql server 2008 временную таблицу для каждого пользователя или одну «глобальную» временную таблицу? Если это одна таблица, я предполагаю, что столкнусь с проблемами, если одна и та же таблица будет создана более одного раза?
Sql server 2008, временные таблицы уникальны
Ответы (1)
Из MSDN:
Вы можете создавать локальные и глобальные временные таблицы. Локальные временные таблицы видны только в текущем сеансе, а глобальные временные таблицы видны для всех сеансов
...
Если локальная временная таблица создается в хранимой процедуре или приложении, которые могут выполняться одновременно для нескольких пользователей компонент Database Engine должен уметь различать таблицы, созданные разными пользователями. Компонент Database Engine делает это путем внутреннего добавления числового суффикса к каждому имени локальной временной таблицы. Полное имя временной таблицы, хранящейся в таблице sysobjects в tempdb, состоит из имени таблицы, указанного в операторе CREATE TABLE, и сгенерированного системой числового суффикса. Чтобы разрешить использование суффикса, table_name, указанное для локального временного имени, не может превышать 116 символов.