Обновлено: 20.09.2007
В комплекте с MS SQL Server поставляется утилита SQL Trace. С ее помощью можно решать задачу нахождения основных источников блокировок при работе 1С:Предприятия 8.1 в случае использования в качестве СУБД MS SQL Server.
Для получения информации для анализа необходимо, чтобы в трейсе фиксировались любые запросы на установление блокировки, которые не могли быть удовлетворены немедленно.
Для этого следует включить в набор записываемых событий событие Lock:Acquired и установить фильтр на запись событий Lock:Acquired со значением Duration больше или равным 1 (может быть установлено любое значение больше 0) и запустить трейс.
После того, как измерения будут закончены в колонке ObjectID будет находится идентификаторы заблокированных объектов, время ожидания для которых превышало 1 мс.
С помощью функции OBJECT_NAME можно определить имя таблицы, соответствующей данному ObjectID.
Для анализа результатов удобнее сохранить результаты в таблицу SQL Server, а затем, с помощью запросов получить интересующие данные в удобной для анализа форме.
Например:
SELECT
ObjectID, SUM(Duration)
FROM
TRACE
GROUP BY
ObjectID
ORDER BY SUM(Duration) desc
В результате будет получена выборка, в которой записи будут отсортированы в порядке убывания времени ожидания блокировки.