OPENQUERY (Transact-SQL) :
Выполняет указанный сквозной запрос на указанном связанном сервере.Этот сервер является источником данных OLE DB.На OPENQUERY
можно ссылаться в предложении FROM запроса, как если бы это было имя таблицы.На OPENQUERY
также можно ссылаться как на целевую таблицу оператора INSERT
, UPDATE
или DELETE
.Это зависит от возможностей поставщика OLE DB.Хотя запрос может возвращать несколько наборов результатов, OPENQUERY
возвращает только первый.
Аргументы
connected_server Идентификатор, представляющий имя связанного сервера.
'query' Строка запроса выполняется на связанном сервере.Максимальная длина строки составляет 8 КБ.
Итак, чтобы ответить на ваш вопрос, да, это то, что делает ваш запрос.Значение connected_server в вашем случае равно SRV_TimeTac
, а значение 'query' является вашей длинной литеральной строкой.Значение 'query' запускается на связанном сервере, и набор результатов возвращается на сервер, на котором вы запускали OPENQUERY
.Затем этот набор результатов вставляется в переменную @ttaAllocs
.
Интересно, тогда COMMIT
транзакция, которую вы начали до INSERT
, что кажется странным, если учесть, что вы только вставили значение в переменную и не сделалине влияет на любые сохраняемые объекты.Переменная Таблицы вполне могла в конечном итоге быть записана на диск, а не сохранена в Памяти, если она стала достаточно большой, но тогда вы, скорее всего, сделаете транзакцию на tempdb
.