[SQL Server] SQL Server Profiler replay
От: Somescout  
Дата: 28.06.17 09:30
Оценка:
Здравствуйте.

Возможно ли с помощью SQL Server Profiler повторить запрос, если в нём использовалась ранее созданная (до начала записи трэйса) временная таблица?
ARI ARI ARI... Arrivederci!
Re: [SQL Server] SQL Server Profiler replay
От: Olaf Россия  
Дата: 28.06.17 10:56
Оценка:
Здравствуйте, Somescout, Вы писали:

S>Возможно ли с помощью SQL Server Profiler повторить запрос, если в нём использовалась ранее созданная (до начала записи трэйса) временная таблица?


По идее Profiler подключится к серверу и выполнит все что записал. Наличие или отсутствие объектов в БД он проверять не будет, т.е. это ложится на вашу ответственность. Поэтому если таблица временная локальная (#), то я думаю, он выкинет исключение, а если глобальная (##) и она еще жива, то все выполнится без проблем.
Re[2]: [SQL Server] SQL Server Profiler replay
От: Somescout  
Дата: 29.06.17 07:47
Оценка:
Здравствуйте, Olaf, Вы писали:

O>По идее Profiler подключится к серверу и выполнит все что записал. Наличие или отсутствие объектов в БД он проверять не будет, т.е. это ложится на вашу ответственность. Поэтому если таблица временная локальная (#), то я думаю, он выкинет исключение, а если глобальная (##) и она еще жива, то все выполнится без проблем.


А можно каким-либо способом получить структуру локальной временной таблицы? (Как получить данные я читал, но проблема в том что сразу после выполнения запроса для таблицы делается truncate, соответственно страниц таблицы в файле базы нет)
ARI ARI ARI... Arrivederci!
Re[3]: [SQL Server] SQL Server Profiler replay
От: Olaf Россия  
Дата: 29.06.17 09:47
Оценка: 4 (1)
Здравствуйте, Somescout, Вы писали:

S>А можно каким-либо способом получить структуру локальной временной таблицы? (Как получить данные я читал, но проблема в том что сразу после выполнения запроса для таблицы делается truncate, соответственно страниц таблицы в файле базы нет)


Если вы знаете id объекта временной таблицы select object_id('tempdb..#temp'), то получить описание можно через select * from tempdb.sys.columns where object_id = номер
Но вы ведь не знаете id объекта временной таблицы?
Re[4]: [SQL Server] SQL Server Profiler replay
От: Somescout  
Дата: 29.06.17 15:48
Оценка:
Здравствуйте, Olaf, Вы писали:

O>Если вы знаете id объекта временной таблицы select object_id('tempdb..#temp'), то получить описание можно через select * from tempdb.sys.columns where object_id = номер

O>Но вы ведь не знаете id объекта временной таблицы?

Пожалуй знаю — имена временных таблиц уникальны, в пределах жизни сессии. Что-то я до самого простого варианта не додумался, спасибо.
ARI ARI ARI... Arrivederci!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.