Я пытаюсь оптимизировать некоторые хранимые процедуры в базе данных SQL Server 2000, и когда я пытаюсь использовать SQL Profiler, я получаю сообщение об ошибке «Чтобы запустить трассировку для SQL Server, вы должны быть членом фиксированной серверной роли sysadmin». . Кажется, что только члены роли sysadmin могут запускать трассировку на сервере (что-то, что было исправлено в SQL Server 2005), и, черт возьми, мне не будет предоставлена эта роль сервера (политика компании)
Сейчас я вставляю текущее время за вычетом времени начала процедуры на разных этапах кода, но я считаю это очень утомительным
Я также думал о репликации базы данных на локальную установку SQL Server, но хранимая процедура использует данные из многих разных баз данных, и я потрачу много времени на локальное копирование данных.
Поэтому мне было интересно, есть ли другой способ профилирования кода SQL? (Сторонние инструменты, разные практики, что-то еще)





В анализаторе запросов:
SET STATISTICS TIME ON
SET STATISTICS IO ON
Запустите запрос и посмотрите вкладку сообщений.
Мне кажется, что для этого могут потребоваться те же привилегии, но попробовать стоит.
Ваши руки как бы связаны без профилировщика.
Однако вы можете начать с настройки существующих запросов с помощью Query Analyzer или любой инструмент запросов и изучение планов выполнения. С помощью QA вы можете использовать параметр Показать план выполнения. Из других инструментов вы можете использовать
SET STATISTICS PROFILE ON / OFF