Здравствуйте, Somescout, Вы писали:
S>Возможно ли с помощью SQL Server Profiler повторить запрос, если в нём использовалась ранее созданная (до начала записи трэйса) временная таблица?
По идее Profiler подключится к серверу и выполнит все что записал. Наличие или отсутствие объектов в БД он проверять не будет, т.е. это ложится на вашу ответственность. Поэтому если таблица временная локальная (#), то я думаю, он выкинет исключение, а если глобальная (##) и она еще жива, то все выполнится без проблем.
Здравствуйте, Olaf, Вы писали:
O>По идее Profiler подключится к серверу и выполнит все что записал. Наличие или отсутствие объектов в БД он проверять не будет, т.е. это ложится на вашу ответственность. Поэтому если таблица временная локальная (#), то я думаю, он выкинет исключение, а если глобальная (##) и она еще жива, то все выполнится без проблем.
А можно каким-либо способом получить структуру локальной временной таблицы? (Как получить данные я читал, но проблема в том что сразу после выполнения запроса для таблицы делается truncate, соответственно страниц таблицы в файле базы нет)
Здравствуйте, Somescout, Вы писали:
S>А можно каким-либо способом получить структуру локальной временной таблицы? (Как получить данные я читал, но проблема в том что сразу после выполнения запроса для таблицы делается truncate, соответственно страниц таблицы в файле базы нет)
Если вы знаете id объекта временной таблицы select object_id('tempdb..#temp'), то получить описание можно через select * from tempdb.sys.columns where object_id = номер
Но вы ведь не знаете id объекта временной таблицы?
Здравствуйте, Olaf, Вы писали:
O>Если вы знаете id объекта временной таблицы select object_id('tempdb..#temp'), то получить описание можно через select * from tempdb.sys.columns where object_id = номер O>Но вы ведь не знаете id объекта временной таблицы?
Пожалуй знаю — имена временных таблиц уникальны, в пределах жизни сессии. Что-то я до самого простого варианта не додумался, спасибо.