Блокировки SQL базы данных 1С 7.7
База данных - HighLoad оптимизация
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Для чего?
Как всем давно известно, 1С 7.7 - тот еще подарок в части параллельности работы пользователей в базе. Для высоконагруженных систем это является большой проблемой. Чтобы понять, кто и кого блокирует и при выполнении какого запроса.
Предполагается использовать как внешнюю обработку для своих конфигураций. Эта публикация содержит обработку в составе конфигурации только для того, чтобы показать, как подключаются 1С++ и классы.
Где работает?
Умеет работать только в базах 1C 7.7 SQL формата.
Проверялась на: 1С 7.7 v. 7.70.027, MS SQL Server 2005 и MS SQL Server 2012
Что умеет?
- Определять "корень зла" - серверный процесс (SPID) вызвавший ожидание на блокировках.
- Формировать иерархическое дерево заблокированных серверных процессов.
- Определять доменных пользователей на терминальных серверах (используя WMI) для каждого из серверных процессов.
- Принудительно завершать найденные процессы (по PID) на терминальных серверах.
- Определять имя хоста соответствующего серверному процессу (SPID-у) (определяет всегда, в независимости от того на каком компьютере запущена 1С).
- Получать текст запроса для любого серверного процесса из полученного списка (полезно для анализа узких мест в конфигурации).
- Определять время выполнения последнего запроса серверного процесса.
- Есть режим, показывающий все блокировки на SQL сервере (не только текущей базы)
Состав конфигурации.
В состав конфигурации входит:
- обработка "КтоБлокируетБазу".
- глобальный модуль.
- Вспомогательные классы.
Как установить?
- Распаковать в какую-либо папку файл Blocks.7z. Убедиться что в папке есть файл DefCls.prm и подпапки Classes, Icons. Без этих файлов работать не будет.
- В конфигураторе "Конфигурация -> Загрузить измененную конфигурацию..." указать файл 1Cv7.MD из папки п. 1.
- В конфигураторе "Администрирование -> Параметры базы данных SQL...". настроить сервер, базу данных, и пользователя.
- Сохранить конфигурацию и согласиться с созданием словаря данных.
Необходимые настройки при работе в режиме предприятия.
- Группа "Доменный администратор" - Имя и пароль доменного администратора для получения имен доменных пользователей и завершения процессов по PID.
- Группа "Настройки обновления таблицы процессов" - группа флажков, описывающих поведение таблица процессов.
- Группа "Фильтрация" - содержит одно поле "Имя базы данных на SQL сервере". Если поле заполнено, будет искать серверные процессы только в этой базе, если нет, будет искать по всем базам, расположенным на SQL сервере, к которому подключена эта база.
Вступайте в нашу телеграмм-группу Инфостарт
См. также
1 стартмани
12.01.2014 25051 80 by_1Cnik 7
13.07.2011 28863 hogik 16
1 стартмани
07.05.2011 52071 166 si4 15