Если я правильно понимаю ваш вопрос, вы сначала задаете вопрос о разнице между продолжительностью, сообщаемой Profiler, и статистикой, представленной в SSMS (либо в правом нижнем углу для общего времени, и / или с помощью SET STATISTICS TIME ON),В дополнение к этому, вы, похоже, не убеждены в комментариях производственного администратора баз данных о том, что представление выполняется в течение ожидаемой продолжительности ~ 60 секунд.
Во-первых, из Books Online - статистика, которую SSMS будет сообщать через SETSTATISTICS TIME ON:
"Отображает количество миллисекунд, необходимое для синтаксического анализа, компиляции и выполнения каждого оператора."
Вы на это способны.Что касается Duration в Profiler, он описывается следующим образом:
«Продолжительность (в микросекундах) события.»
С того места, где я сижу, эти два должны бытьфункционально эквивалентен (и, как я уверен, вы заметили, Profiler сообщит за микросекунды, если вы идете против SQL 2005 или более поздней).Я говорю это потому, что «событие» в этом случае (относительно Duration в Profiler) является выполнением выбора, который включает в себя доставку клиенту;это согласуется в обоих случаях.
Кажется, вы подозреваете, что география является виновником большой продолжительности при удаленном выполнении запроса.Это очень хорошо может быть.Вы можете проверить это, выполнив выборку в представлении в одном окне запроса, затем породив другое окно запроса и просмотрев тип ожидания запроса:
select
a.session_id
,a.start_time
,a.status
,a.command
,db_name(a.database_id) as database_name
,a.blocking_session_id
,a.wait_type
,a.wait_time
,a.cpu_time
,a.total_elapsed_time
,b.text
from sys.dm_exec_requests a
cross apply sys.dm_exec_sql_text(a.sql_handle) b
where a.session_id != @@spid;
Я подозреваю, что вы увидите что-то вроде ASYNC_NETWORK_IO кактип ожидания, если проблема связана с географией, иначе посмотрите, что из этого выйдет.Если вы профилируете запрос вашего удаленного выполнения, Duration будет отражать статистику времени, которую вы видите в SSMS.ОДНАКО, если вы используете Profiler и обнаруживаете, что длительность этого запроса при выполнении с одного из веб-серверов , который находится в том же центре обработки данных, что и SQL Server, все еще занимает 7 минут, тогда администратор БДбольшой, толстый лжец :).Я бы использовал Profiler для записи запросов, которые занимают более 1 минуты, постараюсь отфильтровать для вашего просмотра и взять среднее значение, чтобы увидеть, если вы нацелены на производительность.
Поскольку нет других опубликованных ответов, яЯ обеспокоен тем, что я далеко отсюда, но уже поздно, и я новичок в этом, поэтому я решил попробовать!