2010-07-03 2 views
3

Я пытаюсь запустить трассировку с Sql Server Profiler на веб-приложение Asp.NET, работающее на сервере разработки Visual Studio.Sql Server Profiler трассирует тайм-аут в webapplication

Однако всякий раз, когда след работает, все запросы БД из веб-приложение не дает мне сообщение об ошибке:.

«Время ожидания истекло Время ожидания истекло до завершения операции или сервер не отвечает «.

Если я остановлю трассировку, веб-приложение снова работает.

Любой ввод на это оценивается.

+0

Успешно ли происходит захват профайлера, пока это происходит? Какую версию SQL Server вы используете? –

+0

Нет, ничего не захвачено. Я на SQL Server 2008. –

+0

Я никогда не сталкивался с этой проблемой сам. Звучит странно. у вас есть лучшая трассировка удачи с расширенными событиями, а не с Profiler? (Если вы не использовали это до того, как этот ответ здесь может помочь вам приступить к работе http://stackoverflow.com/questions/3094735/create-trigger-to-log-sql-that-affected-table/3149717#3149717) –

ответ

1

Вам просто нужно увеличить CommandTimeout на sql-соединении во время отладки и значений тайм-аута пула приложений.

+0

Да, изменение CommandTimeout, похоже, делает трюк. Поскольку я использую членство asp.net и roleprovider, я должен установить свойство commandTimeout для этих элементов в файле web.config. –

0

Как только вы столкнетесь с проблемой тайм-аута профайлера, вы должны посмотреть на настройку своей базы данных (если вы уже не знаете, хотя это звучит не так).

У меня была аналогичная проблема в последнее время, и она оказалась заблокированной IO из-за высоких чтений некоторых запросов/утверждений. Получение профайлера для работы над уже вялой базой данных было затруднительным. Мы должны были запустить профилировщик в десятиминутных разделах в более спокойные времена, хотя это не помогает определить самые большие проблемы с самыми тяжелыми грузами.

Как только мы получили профилировщик для сбора данных (на сервере sql server 2005) и реализовали индексы и статистику, рекомендованные советником по настройке базы данных (DTA), база данных снова работала на ожидаемых уровнях формирования.

Я рекомендовал бы прочитать эту бесплатную электронную книгу на SQL Server Profiler ....

http://www.red-gate.com/products/SQL_Response/offers/mastering_sql_profiler_ebook.htm

Это подробно описано, как запускать легкие следы, которые помогут ДТУ рекомендовать индексы и статистические данные, которые позволят повысить производительность вашей базы данных, а также определить некоторые медленные запросы, которые могут быть расположены в вашем коде.

Трассировка, которую вы запускаете, может касаться вашей базы данных по краю, поэтому ее запуск в 10-20-минутных разделах может быть более осуществимым.

Если у вас проблемы с блокировкой ввода-вывода, это влияет на общий сервер sql в целом, и студия управления будет казаться неактивной в разы.

+0

Кажется, я должен проверить эту книгу, чтобы действительно получить то, как я должен делать профилирование в производстве, поскольку создание DTA-материала было причиной профилирования в первую очередь. Спасибо за ваш вклад. –

0

Возможно ли, что вы случайно застряли в однопользовательском режиме?

Попробуйте это:

ALTER DATABASE [имя базы данных] SET MULTI_USER;

+0

Нет, это не так, но спасибо за предложение. –