Использование временных таблиц в многопользовательской среде - PullRequest
5 голосов
/ 18 января 2011

вот ситуация:

У меня есть отчет SSRS, в котором в качестве набора данных используется SP. SP создает временную таблицу, вставляет в нее кучу данных и выбирает их обратно для отправки SSRS. Довольно прямо вперед.

Вопрос:

Если несколько пользователей запустят отчет с различными выбранными параметрами, столкнется ли временная таблица, созданная SP, с tempdb и, возможно, не вернет ожидаемый набор данных?

Ответы [ 2 ]

19 голосов
/ 18 января 2011

Скорее всего, нет.Если временная таблица определена как #temp или @temp, то вы в безопасности, так как к этим временным таблицам можно получить доступ только при создании соединения, и они будут действовать только в течение времени выполнения хранимой процедуры.,Однако, если вы используете ##temp таблицы (два знака «фунт»), в то время как эти таблицы также действуют только до тех пор, пока выполняется хранимая процедура, они доступны и доступны всем соединениям с этим экземпляром SQL.

Скорее всего, вы не используете ## таблицы, поэтому вы, вероятно, в безопасности.

3 голосов
/ 18 января 2011

Временная таблица с одним # является временной таблицей local , и ее область действия ограничена сеансом, который ее создал, поэтому коллизии не должны быть проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...