Если это запрос из нескольких частей, например ::100100
--Get the start time
SELECT getdate();
SELECT * FROM foo;
--Get the end time
SELECT getdate();
Мое предположение заключается в том, что различие заключается в том, что SSMS отображает результаты каждой части перед выполнением следующей части запроса (или, более вероятно, перед переходом к этому набору результатов и, следовательно, заставляет SQL Server оценить последний оператор) , Рендеринг в сетку, вероятно, занимает значительно больше времени, чем написание простого текста, поэтому время может быть другим.
Это единственное объяснение, если режим рендеринга клиента действительно влияет на время между первым и последним GetDate ().
Если вам нужна истинная синхронизация с одним оператором на стороне сервера, вам может понадобиться использовать SQL Server Profiler для определения времени выполнения самого запроса.