Ошибки в ЦУП и способы решения

17.02.20

База данных - HighLoad оптимизация

Эксперт - это человек, совершивший все возможные ошибки в очень узкой области. Часто приходится работать с ЦУП (Центр Управления Производительностью), в итоге наступил, наверное, на все грабли, какие только возможно. Представляю вашему вниманию список частых (и не очень) ошибок в ЦУП и способы их решения. 90% проблем с ЦУП возникает из-за неверной настройки, прав доступа, по вине администраторов и т.д. Здесь же приведены как раз остальные 10%, т.е. ошибки в коде ЦУП и прочие ситуации, которые возникают, даже если все настроено правильно.

Скачать файлы

Наименование Файл Версия Размер
Исправленные модули для ЦУП
.ZIP 3,58Kb
125
.ZIP 3,58Kb 125 Скачать

Повторюсь еще раз,  90% ошибок возникает из-за неправильной настройки ЦУП. Как настроить его правильно достаточно подробно описано здесь.

Перед тем как искать свою проблему здесь, убедитесь что вы все настроили верно, т.к. проблемы возникающие из-за неверной настройки здесь не описаны.

 

Ошибка:
Точка входа в процедуру PdhAddEnglishCounterW не найдена в библиотеке DLL pdh.dll

 

Решение:

  1. Использовать внешнюю компоненту из версии ЦУП 2.0.4.11 и изменить код при сравнении версий
  2. Использовать ОС не ниже Windows Vista
  3. Использовать версию ЦУП 2.0.4.11

Описание:

Возникает при работе на версии ОС ниже чем Windows Vista, в том числе возникает и на Windows Server 2003
 
-----------------------------------------
 

Ошибка:  

Counters.cpp : 112 (0xc0000bb8) – Не удалось добавить счетчик производительности

 

Решение:

  1. Переименовать в коде именя счетчиков с английского наименования на русское (если используется русская локализация MS SQL Server). Измененные функции "ИмяСчетчикаКоличествоВзаимоблокировокMSSQL" и "ИмяСчетчикаКоличествоОжиданийMSSQL" есть в архиве.
  2. Счетчики в Performance Monitor могут называться и не так как в архиве, тогда пункт 1 не сработает, т.к. вам нужно будет вписать свое имя счетчиков. В этом случае нужно посмотреть точное полное название счетчика здесь: Точное название счетчика нужно смотреть в "Управление компьютером > Производительность > Средства наблюдения > Системный монитор". Спасибо за дополнение ZhiharevDmitriy
  3. При установке 32-битного MS SQL Server на 64-битную Windows счетчики производительности не отображаются в PerfMon и их невозможно добавить из 1С. 
    Утилита System Monitor (Perfmon), включенная в состав Windows x64 и используемая по умолчанию, также является 64­разрядным приложением. Microsoft не предоставляет возможности собирать информацию от 32­разрядных счетчиков 64­разрядной утилитой System Monitor (Perfmon). Но нет ли у нас и 32­разрядной версии? Да, она присутствует, поделенная на две части, одна из которых слегка замаскирована, а другая скрыта намного глубже!. Подробно решение описано здесь. Спасибо пользователю 
    cheburashka за описание данной ошибки и решения.
  4. Не использовать показатели «Количество взаимоблокировок» или «Количество таймаутов»

Описание:

Если выбрать показатель «Количество взаимоблокировок» или «Количество таймаутов», то ЦУП добавляет счетчики SQL Server в системный монитор (PerfMon), что бы получить эту информацию. Если добавить счетчики не получается, возникает данная ошибка.

-----------------------------------------

 

Ошибка:
MSSQL.cpp : 79 ( 0x0: The operation completed successfully. ) - SQL Server connection failed.

 

Решение:

  1. Создать доменного пользователя, дать ему все права предыдущего пользователя и от его имени запускать сервер ЦУП
  2. Сделать пользователей с одинаковым именем на SQL и на сервере ЦУП

Описание:
Возникает при анализе взаимоблокировок. Заморочки с правами доступа.

-----------------------------------------

Ошибка:

MSSQL.cpp : 79 ( 0x36b7: The requested lookup key was not found in any active activation context. ) - SQL Server connection failed.

Она же только на русском:

.\MSSQL.cpp : 79 ( 0x36b7: Указанный ключ соответствия не обнаружен ни в одном из активных контекстов активации. ) - SQL Server connection failed

 

Решение:

  1. Пользователю ОС под которым запущен клиент ЦУП и пользователю ОС под которым запущен сервер 1С на котором размещается база ЦУП, нужно дать права «Alter trace» в SQL Server, просто откройте инструкцию на шаге настройки «Трассировки» и сделайте все по шагам еще раз, только сделать это нужно для двху пользователей.
  2. Проверить, что у пользователя под которым запущен сервер СУБД есть доступ на чтение и на запись в указанный каталог трассировки.

Описание:

Возникает при анализе взаимоблокировок. 

-----------------------------------------

Ошибка:
Ошибка при вызове метода контекста (ПрочитатьXML)
{ОбщийМодуль.АнализБлокировок1С.Модуль(975)}: Преобразование значения к типу Число не может быть выполнено

Решение:
заменить код функции «ПодготовитьБлокировки», есть в архиве.

Описание:
Ничего особенного, просто ошибка в коде

-----------------------------------------


Ошибка:
Ошибка аутентификации при попытке входа в базу ЦУП в терминале, на отдельной машине все запускается и ошибки нет

Решение:
Установить релиз платформы не ниже 8.2.15.257

Описание:
COMConnector не может найти ключ защиты из-за ошибки в платформе
Ошибка платформы «10080827 Получение лицензии объектом V82.COMConnector»

-----------------------------------------


Ошибка:
Microsoft OLE DB Provider for SQL Server: SHOWPLAN permission denied in database 'tempdb'.

Решение:
Выполнить в СУБД команду
USE tempdb
GO
GRANT SHOWPLAN TO
GO

Описание:
У пользователя SQL, под которым запущена исследуемая база, нет прав на получение плана запроса.

----------------------------------------- 

 

Ошибка:
Иногда не удается пройти шаг включения ТЖ

Решение:

  1. Синхронизировать время на сервере ЦУП и на сервере исследуемой базы
  2. Возможна ошибка из-за летнего времени, описана здесь
  3. В файле conf.cfg не указано значение параметра ConfLocation. Для 8.3 там должно быть указано C:\Program Files (x86)\1cv8\conf или C:\Program Files\1cv8\conf в зависимости от разрядности платформы.

 

Описание:
При создании ТЖ сравнивается время файлов, если оно не совпадает ЦУП "думает" что ТЖ не создан.

-----------------------------------------

 

Ошибка:

{ОбщийМодуль.АнализБлокировок1С.Модуль(392)}: Ошибка при вызове метода контекста (Выполнить): {(8, 27)}: Не задано значение параметра "НачалоТранзакции"И ТЖ.МоментВремени МЕЖДУ <>&НачалоТранзакции И &МоментВремениЖертвы

 

Решение:

Ошибка в коде процедуры «ПодготовитьПредпологаемыхВиновников», исправленная процедура есть в архиве.

Описание:

ЦУП попытался проанализировать «отрывок» транзакции, данные по которой полностью не записались в базу, например ЦУП выключили в середине транзакции.

 -----------------------------------------

 

Ошибка:

Не собираются оперативные показатели

 

Решение:

1. Не назначена роль processadmin для пользователя под которым запускается сервер 1С исследуемой базы (чаще всего)

2. "Портится" COM объект "ИБ" в процедуре ПолучитьСоединенияИБ (очень редко но бывает) - т.е. в отладчике объект есть и свойства у него есть, но при попытке использовать метод GetInfoBaseConnections получается лажа. В моей практике было всего пару раз, ловится только через отладчик. В этом случае надо заменить функцию ПолучитьСоединенияИБ, текстом из вложения. Причина не ясна.

-----------------------------------------

 

Ошибка:
{ОбщийМодуль.АнализБлокировок1С.Модуль(941)}: Индекс находится за границами массива

 

Решение:

Исправить строку 923 ОМ. АнализБлокировок1С

// заплатка на случай если СоставБлокировки[СчИзмерения] получается что-то типа "Счет-фактура 0000001 от 01.01.2001"
Если Найти(СоставБлокировки[СчИзмерения], "=") = 0 Тогда
Продолжить;
КонецЕсли;

Так же нужно исправить функцию БлокировкаРазобрана в том же модуле, вместо 

Структура = Новый Структура("РежимБлокировки, Ресурс", Выборка.РежимБлокировки, Выборка.Ресурс);

Нужно написать:

Структура = Новый Структура("Режим, РежимБлокировки, Ресурс", Выборка.РежимБлокировки, Выборка.РежимБлокировки, Выборка.Ресурс);

Описание:

Ошибка в коде, не предусмотрена ситуация когда есть пробелы в значениях свойств события TLOCK

-----------------------------------------

 

Ошибка:

Невозможно пройти мастер на шаге настройки ТЖ в том случае, если используется более одного сервера в кластере.

Решение:

Нужно внести исправления в код, к сожалению решение у меня не сохранилось, но если у вас возникла такая ситуация, с помощью отладчика и здравого смысла вы довольно быстро найдете причину проблемы. Как только будет время, смоделирую ситуацию и добавлю сюда исправленный код.

-----------------------------------------

 

Ошибка: 

При анализе возникает сообщение:  Нет проблем с производительностью. 

Хотя вы точно знаете что они есть, видите что в логах есть данные о медленных запросах и т.д.

 

Решение:

Один из вариантов решения описан в комменатрии (39) от Bad_Developer

Подробное решение проблемы есть там же в прикрепленном файле. 

-----------------------------------------

 

Ошибка:

При анализе взаимоблокировок появляется ошибка “Ошибка при вызове метода контекста (РазделитьФайл)”. 

 

Решение:

Установить пользователю, под которым запущен сервер 1С:Предприятие с ЦУП, полные права на локальную папку Temp, в которой разбираются результаты анализа. 

 

Описание:

Как водится с ЦУПом - очередные заморочки с правами. Спасибо пользователю h00k за описание ошибки и решение.

-----------------------------------------

Ошибка:

При анализе появляется сообщение "Анализ проблем на выбранном участке не может быть выполнен..."

В мониторе анализе замеры отображаются с восклицательным знаком, ошибка "Ошибка при вызове конструктора (COMОбъект)"

Пока зафиксирована только для 8.3 

Решение:

Т.к. сервер 1С - 64-битный, а comcntr.dll - 32, просто зарегистрировать ее через regsvr32 было недостаточно.
Т.е. на клиенте объект COMConnector создавался по той причине, что и клиент и компонента 32-битные. 

В рамках фонового задания - объект создается уже вызовом сервера - а тут уже срабатывает следующая пакость - дело в том что на 64-ных ОС сделано разделение реестра, и в зависимости от разрядности вызывающего процесса он получает от ОС разные ветки регистрации - результат сервер не видит зарегистрированную 32-ю компоненту. 

Решение проблемы весьма простое - опубликовать данную компоненту как COM+ приложение, т.е. через оснастку "Component Services" 
Просто делаем там дополнительную ветку V83COMConnector - и прописываем внутрь нашу dll. 

Единственный минус - при обновлении платформы нельзя забывать перепрописать dll из нового релиза, а то предположительно можно получить много сюрпризов. 

 

Описание:

В процедуре ПолучитьComСоединительПриложения() не отрабатывает конструкция Новый COMОбъект(ПолучитьВерсиюCom() + ".COMConnector"), т.е. попытка создать COM-объект V83.COMConnector 

Спасибо H1nt за описание ошибки и решения проблемы.

-----------------------------------------

Ошибка:

Происходит зависание при разборе данных о блокировках.

Решение:

Заменить функцию "РазделитьСтроку" в общем модуле "КипОбщий". Код новой функции приведен ниже

Функция РазделитьСтроку(ИсходнаяСтрока, Разделитель, ПустыеСтроки = Ложь) Экспорт
	
	Результат = Новый Массив;
	ИсходнаяСтрока2 = ИсходнаяСтрока;
    Если ПустыеСтроки = Ложь Тогда
        ПустыеСтроки = ?(Разделитель = " ", Истина, Ложь);
        Если ПустаяСтрока(ИсходнаяСтрока2) Тогда 
            Если Разделитель = " " Тогда
                Результат.Добавить("");
            КонецЕсли;
            Возврат Результат;
        КонецЕсли;
    КонецЕсли;
 
    Позиция = Найти(ИсходнаяСтрока2, Разделитель);
    Пока Позиция > 0 Цикл
        Подстрока = Лев(ИсходнаяСтрока2, Позиция - 1);
		Если Не ПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда
			Подстрока = СокрЛП(Подстрока);
            Результат.Добавить(Подстрока);
        КонецЕсли;
        ИсходнаяСтрока2 = Сред(ИсходнаяСтрока2, Позиция + СтрДлина(Разделитель));
        Позиция = Найти(ИсходнаяСтрока2, Разделитель);
    КонецЦикла;
 
	Если Не ПустыеСтроки Или Не ПустаяСтрока(ИсходнаяСтрока2) Тогда
		ИсходнаяСтрока2 = СокрЛП(ИсходнаяСтрока2);
        Результат.Добавить(ИсходнаяСтрока2);
    КонецЕсли;
 
    Возврат Результат;
	
	
КонецФункции // РазделитьСтроку()

Описание:

В страрой функции использовался неоптимальный алгоритм разбора строки посимвольно, что при большом объеме обрабатываемых данных приводило к зависанию. 

Спасибо wondkind за описание ошибки и решения проблемы.

-----------------------------------------

 

Ошибка:

В релизе 2.1.5.10 ошибка при анализе блокировок:
АнализБлокировок1С.Модуль(195)}: Индекс находится за границами массива

 

Решение:

Код:

РежимБлокировки = ПолучитьРежимБлокировки(СоставБлокировки[1]); 

 

исправить на:
РежимСтрокой = ?(СоставБлокировки.Количество() > 1, СоставБлокировки[1], ""); 
РежимБлокировки = ПолучитьРежимБлокировки(РежимСтрокой);
Спасибо Sam441 за описание ошибки и решение.

-----------------------------------------

 

Можно ускорить разбор данных исправив неоптимальный запрос, как бы стрнно это не звучало :)

Необходимо в ОМ.Анализ в функции ВыгрузитьДанные, переписать запрос с использованием временной таблицы вместо подзапроса.

Ускорение будет весьма ощутимо, чем больше данных было собрано, тем сильнее будет эффект.

 

Так же прошу обратить внимание на содержательный комментарий (18) от пользователя serno

Там приводится пример ускорения еще одного запроса в ЦУП 

 

Если у вас есть примеры других ошибок в ЦУП (но не по вине неправильной настройки) пишите в комментариях к статье, буду актуализировать.

 

P.S. Спасибо Саликову Алексею, за решение некоторых ошибок, описанных в этой статье.

ЦУП ошибки настройка

См. также

Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Анализ простого плана запроса. Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы.

13.03.2024    2979    spyke    26    

42

Быстродействие типовой 1С

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Оказывается, в типовых конфигурациях 1С есть, что улучшить!

13.03.2024    5110    vasilev2015    19    

37

Анализируем SQL сервер глазами 1С-ника

HighLoad оптимизация Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих зааросов на sql, ожиданий, конвертация запроса в 1с и рекомендации где может тормозить

1 стартмани

15.02.2024    7641    158    ZAOSTG    68    

96

Удаление строк из таблицы значений различными способами с замером производительности

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Встал вопрос: как быстро удалить строки из ТЗ? Рассмотрел пять вариантов реализации этой задачи. Сравнил их друг с другом на разных объёмах данных с разным процентом удаляемых строк. Также сравнил с выгрузкой с отбором по структуре.

09.01.2024    5977    doom2good    48    

63

Опыт оптимизации 1С на PostgreSQL

HighLoad оптимизация Бесплатно (free)

При переводе типовой конфигурации 1C ERP/УТ/КА на PostgreSQL придется вложить ресурсы в доработку и оптимизацию запросов. Расскажем, на что обратить внимание при потерях производительности и какие инструменты/подходы помогут расследовать проблемы после перехода.

20.11.2023    8871    ivanov660    6    

76

ТОП проблем/задач у владельцев КОРП лицензий 1С на основе опыта РКЛ

HighLoad оптимизация Бесплатно (free)

Казалось бы, КОРП-системы должны быть устойчивы, быстры и надёжны. Но, работая в рамках РКЛ, мы видим немного другую картину. Об основных болевых точках КОРП-систем и подходах к их решению пойдет речь в статье.

15.11.2023    5105    a.doroshkevich    20    

72

Начните уже использовать хранилище запросов

HighLoad оптимизация Запросы

Очень немногие из тех, кто занимается поддержкой MS SQL, работают с хранилищем запросов. А ведь хранилище запросов – это очень удобный, мощный и, главное, бесплатный инструмент, позволяющий быстро найти и локализовать проблему производительности и потребления ресурсов запросами. В статье расскажем о том, как использовать хранилище запросов в MS SQL и какие плюсы и минусы у него есть.

11.10.2023    16186    skovpin_sa    14    

98
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Tedman 11.09.13 10:59 Сейчас в теме
Очень хорошая и, главное, полезная статья.
Большое спасибо!
128. пользователь 08.06.18 07:41
Сообщение было скрыто модератором.
...
2. Andreynikus 1361 11.09.13 11:03 Сейчас в теме
Пожалуйста, надеюсь пригодится :)
Мне в свое время очень не хватало такой статьи.
Кстати, все эти ошибки остались и в последней версии ЦУП.
3. DrAku1a 1679 12.09.13 02:56 Сейчас в теме
Плюс - уже за самую первую фразу:
Эксперт - это человек совершивший все возможные ошибки в очень узкой области.
acanta; pim1c; Danil.Potapov; Andreynikus; +4 Ответить
4. tormozit 7136 12.09.13 11:18 Сейчас в теме
5. Gilev.Vyacheslav 1910 12.09.13 17:40 Сейчас в теме
Почему в нашем аналоге ЦУПа http://www.gilev.ru/querytj/ нет ошибки:
Точка входа в процедуру PdhAddEnglishCounterW не найдена в библиотеке DLL pdh.dll


Клиентская часть, собирающая логи тж не использует dll-библиотеку, делает это средствами 1С.

И соответственно рекомендация из статьи:
Использовать ОС не ниже Windows Vista

не требуется, работает везде.

Далее, ошибка
Counters.cpp : 112 (0xc0000bb8) – Не удалось добавить счетчик производительности

в нашем инструменте http://www.gilev.ru/hardware/ не возникает, так как не используется WMI и системные средства вне 1С. У нас напрямую происходит настройка в самом "мониторе производительности" Windows, который пишет значения в базу данных на MS SQL Server.

Далее, ошибка
Ошибка аутентификации при попытке входа в базу ЦУП в терминале, на отдельной машине все запускается и ошибки нет

не возникает, потому что http://www.gilev.ru/querytj/ вообще не использует V82.COMConnector

Далее, потребности в
Можно ускорить разбор данных исправив неоптимальный запрос, как бы стрнно это не звучало :)

Необходимо в ОМ.Анализ в функции ВыгрузитьДанные, переписать запрос с использованием временной таблицы вместо подзапроса.

Ускорение будет весьма ощутимо, чем больше данных было собрано, тем сильнее будет эффект.

в нашем инструменте нет, оптимизацию этого блока мы делаем за Вас.

Если хотите избежать проблем платного 1С:ЦУП, можете использовать бесплатный http://www.gilev.ru/querytj/

7. Andreynikus 1361 12.09.13 18:54 Сейчас в теме
(5) Вячеслав, я так и знал что вы не упустите возможность пропиарить свою разработку в этой ветке ))
dj_serega; Bukaska; jaroslav.h; Дмитрий74Чел; Bloood; suggestive; imm0rtal; andy23; artbear; asved.ru; +10 Ответить
8. Gilev.Vyacheslav 1910 12.09.13 23:22 Сейчас в теме
(7) нам любят задавать вопросы типа "а чем вы лучше?", пока не попробуешь, не узнаешь. При чем не буду говорить, что у нас все идеально, но постоянно занимаемся улучшением. Мы этим инструментом пользуемся сами каждый день, это лучшая гарантия имхо.
Evg-Lylyk; rossoxa; mdie; +3 Ответить
6. Algiz 12.09.13 18:29 Сейчас в теме
9. bforce 481 17.09.13 11:00 Сейчас в теме
...Измененные функции "ИмяСчетчикаКоличествоВзаимоблокировокMSSQL" и "ИмяСчетчикаКоличествоОжиданийMSSQL" есть в архиве.
...заменить код функции «ПодготовитьБлокировки», есть в архиве.
...коде процедуры «ПодготовитьПредпологаемыхВиновников», исправленная процедура есть в архиве

Граждане, укажите незрячему, где этот архив?
10. пользователь 17.09.13 11:00
Сообщение было скрыто модератором.
...
11. salser 25.09.13 21:10 Сейчас в теме
Порадовала коллекция. Пару грабель видел лбом. =)))
12. Andreynikus 1361 26.09.13 22:08 Сейчас в теме
(11) salser, это тебе повезло что только пару )))
13. Gilev.Vyacheslav 1910 30.10.13 13:52 Сейчас в теме
ну и еще немного про цуп
3dvapper; +1 Ответить
14. Andreynikus 1361 30.10.13 15:13 Сейчас в теме
(13) Gilev.Vyacheslav,
Если Вы намекаете на то, что ЦУП не анализирует дедлоки на управляемых блокировках, то об этом сказано в документации.
Или здесь что-то другое имеется ввиду?
15. zels 171 17.11.13 18:31 Сейчас в теме
"Пользователь, от имени которого запущен ЦУП". А кто это?

1. Пользователь, под которым зашли в Windows и запустили 1С, подключенного к базе ЦУП.
2. Администратор кластера 1С
3. Владелец SQL-базы
4. Пользователь, от имени которого 1С сервер подключается к исследуемой базе.

2-4 могут быть связаны с учетной записью Windows (причем не обязательно из п1), а могут не связываться.
Учетные записи Windows могут быть локальными, а могут быть доменными.

В результате когда что-то не работает и выскакивает сообщение о нехватке прав, абсолютно неясно кому и каких прав не хватает...

Почему инструкции пишут так, что вопросов больше, чем ответов?
16. Andreynikus 1361 17.11.13 18:55 Сейчас в теме
(15) zels,
Пользователь, от имени которого запущен ЦУП


Где именно в моей статье вы увидели такую фразу?

Насчет прав, все зависит от ошибки, обычно в инструкциях описывается какой именно пользователь имеется ввиду.

Приложите скрин ошибки, с указанием шага на котором она возникает. Тогда, я возможно смогу вам подсказать какой пользователь имеется ввиду.
17. zels 171 19.11.13 20:06 Сейчас в теме
Этот термин используется в описаниях, рекомендациях. Увы, нет полного и толкового описания и не понятно, почему что-то не работает, хотя должно или работает, хотя вроде не должно... Нажимаешь пункт "Инструкция" в настройке, все по пунктам делаешь - не помогает. А то, что нет возможности сохранить незаконченную настройку не укладываетсяч в голове (приходится править конфигурацию, чтобы отключить проверку). Проблемы берутся непонятно откуда и исчезают, непонятно куда (но реже). Вроде настроил, работает, но админ ставит новый сервер или новый SQL и приходится все переустанавливать. С другими базами проблем нет, а с ЦУП - есть.

Запустить удалось, вот только на это ушло полдня (а не 15-20 минут) и самое грустное, что если это понадобится сделать снова - опять может уйти полдня (или больше).
18. Sergey.Noskov 1376 14.03.14 13:11 Сейчас в теме
Есть еще одна "бомба" при просмотре статистики
смотрим процедуру ЖурналПоказателей.ПодготовитьДанныеДляПросмотра и видим запрос:
|ВЫБРАТЬ
| *
|ПОМЕСТИТЬ
| ЖурналПоказателей
|ИЗ
| РегистрСведений.ЖурналПоказателей
|ГДЕ
| ИнформационнаяБаза = &ИнформационнаяБаза
|ИНДЕКСИРОВАТЬ ПО
| Период,
| Показатель,
| НомерЗаписи
во временную таблицу помещается весь(!) журнал и чем дольше вы ведете статистику тем больше вы тратите время на её просмотр.
Исправляется просто - добавьте условие И Период МЕЖДУ &НачалоИнтервала И &КонецИнтервала
и установите параметры
Запрос.Параметры.Вставить("НачалоИнтервала", Контекст.НачалоИнтервала()-1);
Запрос.Параметры.Вставить("КонецИнтервала", Контекст.КонецИнтервала()+1);
Второй вариант, если графики не нужны а нужны только данные - используйте обработку из вложения.
Прикрепленные файлы:
Монитор.epf
Irwin; Операция1Ы; +2 Ответить
19. Andreynikus 1361 16.03.14 20:09 Сейчас в теме
(18) serno,
Спасибо, отличное замечание.
20. ikbokov 22 18.06.14 10:47 Сейчас в теме
Отключать блокировки не хочется, счетчики на английском, в PMU добавлен пользователь, все по инструкции сделали и перепроверили. Что еще может быть, посоветуйте
Прикрепленные файлы:
21. Andreynikus 1361 18.06.14 12:21 Сейчас в теме
(20) ikbokov,
1. Если у вас используются домены, то сервер 1С для базы ЦУП запущен под локальным пользователем, а вы дали права доменному.
В это случае лучше запустить сервер 1С под доменным пользователем. Проверьте этот момент.
2. Если п.1 не сработает то пройдитесь отладчиком и посмотрите в какой момент возникает ошибка.
3. Если п.1 и п.2 не помогла, тогда можно отказаться от показателей Количество таймаутов и количество взаимоблокировок.
Либо можно их получить без помощи ЦУП, а с помощью все того е PerfMon.
4. Если ничего не помогает, тогда сложно вот так сказать, не видя системы. Надо подключаться и смотреть.
22. ikbokov 22 18.06.14 12:40 Сейчас в теме
(21) по поводу 1. у меня права выданы и локальному пользователю и доменному, от которого ЦУП запускается. Оно надо под доменным сервер запускать?
23. Andreynikus 1361 18.06.14 13:20 Сейчас в теме
(22) ikbokov,
Да, тогда лучше запустить под доменным, только права на каталог в который установлена 1С не забудьте дать
24. isn 15 23.06.14 12:46 Сейчас в теме
Здравствуйте!
При настройке ЦУП при включении параметра "Блокировки" возникли проблемы - ошибка 148 ( 0x800007d0: ) не удалось собрать значения счетчиков производительности.
Архитектура сети:
1С сервер запущен под локальным пользователем SRV1CV8, доступ к базе SQL через пользователя "sa", SQL находится на другом компе. ЦУП запускается под доменным пользователем (например "Иванов"). Пользователь Иванов входит в группу "Счетчики производительности", SQL на русском, в код добавил определения счетчиков на русском. К моему сожалению, ошибка использования всё равно есть. Подскажите где ещё копать, отключать "блокировки" не хочется.
25. Andreynikus 1361 23.06.14 17:34 Сейчас в теме
(24) isn,
Пользователь Иванов входит в группу "Счетчики производительности"

Он должен входить в эту группу на сервере СУБД

SQL на русском, в код добавил определения счетчиков на русском

Не всегда в этом случае счетчики тоже на русском, запустите Performance Monitor и проверьте названия счетчиков Ms SQL.
Если они на английском, то нужно будет вернуть англ. название.

Так же нужно проверить следующее условие:

Убедитесь (по-умолчанию так и есть), что на компьютере, где запущен сервер СУБД:
- запущена служба "Удаленный реестр (Remote Registry)";
- для пользователя, от имени которого запущен клиент ЦУП, есть право чтения раздела реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib";
- в параметрах групповой политики (gpedit.msc) присутствует строка "Software\Microsoft\Windows NT\CurrentVersion\Perflib" в параметре "Политика Локальный компьютер \ Конфигурация Windows \ Параметры безопасности \ Локальные политики \ Параметры безопасности \ Сетевой доступ: удаленно доступные пути и вложенные пути реестра".

Если совсем ничего не помогает, тогда прогоните через отладчик, и посмотрите где возникает ошибка.
26. necropunk 9 08.10.14 14:59 Сейчас в теме
При попытке анализа взаимоблокировок получил ошибку в стиле "Ошибка метода ЗаписатьТекст и предложение открыть форму настройки базы. После чего эти замеры намертво зависли в мониторе анализа, не удалялись и не обсчитывались. Убрать смог только с помощью кнопки "Повторить".
27. necropunk 9 08.10.14 15:11 Сейчас в теме
Еще какая-то странная проблема - информацию собираю, аналитические показатели выбираю, например анализ запросов, время запросов ставлю 0, получать план запроса - Да. Выполняю замер, минут 6-7, запросы точно есть, около 100 за это время проходит, но после анализа, когда должен показать запросы и их планы, выскакивает окошко с надписью "Анализ проблем на выбранном участке не может быть выполнен. Возможные причины: 1. Список показателей производительности не содержит ни одного аналитического показателя 2. Выбранный интервал просмотра не содержит проблем производительности". Получается просто так посмотреть план запроса им нельзя, только в случае какой-то проблемы? Или у меня что-то не так настроено?
Manticor; +1 Ответить
28. necropunk 9 08.10.14 15:26 Сейчас в теме
Да, и анализ этих 7 минут замера идет буквально несколько секунд, не дольше пол минуты. Хотя это боевая база.
29. Andreynikus 1361 08.10.14 19:00 Сейчас в теме
(28) necropunk,
Скорее всего у вас не собираются логи ТЖ.
Это может быть по нескольким причинам, например если вы указали не ту базу при настройке ЦУП которую вы исследуете. Проверьте ту ли базу вы указали.
Пройдите мастер настройки еще раз, особое внимание уделите шагу включения ТЖ.
После включения записи показателя Анализ запросов в ЦУП подождите 1 минуту и посмотрите пишутся ли логи в ТЖ, откройте текстовые файлы логов и посмотрие есть ли там запросы и планы.
Если СУБД MS SQL то никаких проблем быть не должно.
30. necropunk 9 09.10.14 09:42 Сейчас в теме
(29) СУБД Microsoft SQL, тех. журнал точно пишется, 8 гигов уже папка, планы запросов в нем есть, смотрел. Когда ЦУП анализирует журнал в процессе настройки, ищет там файлы рпхост и прочие - смотрел отладчиком, он точно находит этот журнал и файл настроек. Грешу на pmc.dll, может прав где недодал и он компоненту не может зарегистрировать правильно. Версия ЦУП-а последняя, ума не приложу пока в чем дело, ладно, буду разбираться...
31. Andreynikus 1361 09.10.14 10:10 Сейчас в теме
(30) necropunk,
Если бы небыло прав, то это выяснилось бы еще на этапе настройки.
Попробуйте снова пройти мастером все пункты, если не поможет тогда берем отладчик в руки и смотрим на каком этапе возникает засада.
32. necropunk 9 09.10.14 11:03 Сейчас в теме
(31) все перепроверял внимательно. Отладчиком смотрю - у меня в списке показателей, при просмотре, нет Анализа запросов. И добавить я его не могу, то есть, где-то, по какой-то причине, он убирает его из списка. Ладно, разберусь - опишу проблему, может поможет кому.
33. necropunk 9 09.10.14 16:56 Сейчас в теме
В тексте журнала, в общем, все есть, а вот в регистры почему-то он эту информацию затягивать не хочет, то ли пути в ТЧ замера найти не может, хотя они туда попадают... Завтра доразбираюсь, в общем.
34. necropunk 9 10.10.14 11:40 Сейчас в теме
Засад много возникает, в общем. Пока не приблизился к пониманию. Ставлю галочку. Каждый такт он собирает инфу о запросах. СборЗапросовВключен = Истина. Как только галочку снимаю - он ставит ее в Ложь и удаляет мой замер. А у этого замера в ТЧ хранится путь к технологическому журналу. Соответственно при попытке загрузить пути в ДанныеТЖ - туда не пишется никакой путь, только пустые значения. При попытке загрузить журнал - делается запрос по этому регистру. Но данных там нет. Соответственно в процедуре ЗагрузитьТехнологическийЖурнал() ничего не происходит. Нет данных - нечего обрабатывать, он говорит - проблем производительности нет. Ковыряю дальше, возможно что-то не так понимаю... А у вас в регистрах ДанныеТЖ и Технологический журнал какие данные хранятся? И все ли замеры хранятся или есть удаленные номера?
35. Bad_Developer 10.10.14 15:14 Сейчас в теме
Возникла похожая проблема, но в конфигуратор еще на залазил, думал с настройками проблема. А тут похоже такая же проблема.
Имеем:
Windows Svr 2012 R2 Standart
MS SQL 2012
Центр управления производительностью, редакция 2.0 (2.0.12.11)
База для тестирования: Стандартный нагрузочный тест (из КИПа)

Все настроено, ошибок нет, логи журнала пишутся. Показатели аналитики добавлены соответственно.
После окончания замера в просмотре получаю ту же ошибку: Нет проблем с производительностью.
Буду рад помочь разобраться.
36. necropunk 9 10.10.14 18:00 Сейчас в теме
(35) Bad_Developer, В общем, провел два дня в отладчике. Проблема первая: было отключено выполнение фоновых заданий. Включил задания, в регистр попадали данные, но не совсем те и ненадолго. Отладить фоновое задание возможности не было, написал обработку с вызовом этого метода, просто одна строчка:
Анализ.ЗаданиеПолучитьИсходныеДанные(СсылканаОбъект);
где ссылка на объект - это документ замера созданный. Причем, его долго ловил довольно - он сразу после загрузки данных удаляется, там надо поставить точку отладки перед "Замер.Удалить()" и прекратить отладку. Потом я запустил на отладку мою обработку. Уже не в фоновом режиме, поэтому провалился в отладку, все внимательно изучил и все прекрасно отработало. Толко потом происходит удаление этого документа, а так как он регистратор - то и всех движений регистра "ДанныеТЖ" тоже. В общем, я закомментил все удаления документов замера пока.
37. Andreynikus 1361 10.10.14 20:39 Сейчас в теме
(36) necropunk,
Какая именно версия ЦУП используется?
Попробуйте 2.0.7 или 2.0.5 она точно 100% рабочая.
38. necropunk 9 13.10.14 11:44 Сейчас в теме
(37) ЦУП использую последний, 2.0.12.15. вообще, подозреваю, что кто-то до меня какую-то настройку установил или константу, пока не важно, сейчас все работает, будет время - разберусь, пока не до этого совсем.
110. Kraag 08.11.17 10:36 Сейчас в теме
Коллеги, доброго времени суток!
Никто не сталкивался с подобной ошибкой? -
{ОбщийМодуль.СтруктураМетаданных.Модуль(38):
[СтруктураХранения = СоединениеИБ.ПолучитьСтруктуруХраненияБазыДанных(, ТерминыСУБД);]}:
Ошибка при вызове метода контекста (ПолучитьСтруктуруХраненияБазыДанных)
(Произошла исключительная ситуация (1C:Enterprise 8.3.10.2466): Ошибка инициализации модуля: Документ.ЗаявкаНаРасходованиеДенежныхСредств.МодульМенеджера
{Документ.ЗаявкаНаРасходованиеДенежныхСредств.МодульМенеджера(2501,3)}: Процедура или функция с указанным именем не определена (ПолучитьДанныеОбъектаПоМакетам))

Происходит после остановки замера, при состоянии "Получение исходных данных"
111. Kraag 08.11.17 10:41 Сейчас в теме
Коллеги, доброго времени суток!
Никто не сталкивался с подобной ошибкой? -
{ОбщийМодуль.СтруктураМетаданных.Модуль(38):
[СтруктураХранения = СоединениеИБ.ПолучитьСтруктуруХраненияБазыДанных(, ТерминыСУБД);]}:
Ошибка при вызове метода контекста (ПолучитьСтруктуруХраненияБазыДанных)
(Произошла исключительная ситуация (1C:Enterprise 8.3.10.2466): Ошибка инициализации модуля: Документ.ЗаявкаНаРасходованиеДенежныхСредств.МодульМенеджера
{Документ.ЗаявкаНаРасходованиеДенежныхСредств.МодульМенеджера(2501,3)}: Процедура или функция с указанным именем не определена (ПолучитьДанныеОбъектаПоМакетам))

Происходит после остановки замера, в состоянии "Замер завершен"
112. necropunk 9 08.11.17 13:55 Сейчас в теме
(111) Я сталкивался. Насколько помню, это ошибка в конфигурации базы, которую пытаетесь проанализировать. Нужно исправить в ней указанную ошибку.
113. Kraag 09.11.17 11:37 Сейчас в теме
(112) Спасибо, поправили условие (&НаСервер) в процедуре.
39. Bad_Developer 14.10.14 16:58 Сейчас в теме
По моей связке:
Windows Svr 2012 R2 Standart
MS SQL 2012
Центр управления производительностью, редакция 2.0 (2.0.12.11)

В моем случае проблема была в следующем (более детально со скриншотами во вложении к посту)
При обработке данные и записи в РС Технологический журнал вылетала ошибка: "Запись с такими ключевыми полями существует" (дубли при записи).
При анализе таблицы выяснилось, что дубли по полю МоментВремени.
Сделал при записи временный костыль, данные начали записываться нормально.
И форма с анализом открывается без проблем.
Прикрепленные файлы:
ЦУП Проблемы.docx
KAPACEB.AA; +1 Ответить
40. necropunk 9 15.10.14 11:40 Сейчас в теме
(39) Bad_Developer, вообще, странно, что приходится какие-то свои костыли писать, видимо, все-таки, как-то не так настраиваем мы его...
semagin@gmail.com; +1 Ответить
41. Bad_Developer 15.10.14 11:54 Сейчас в теме
Если, честно не знаю, разворачивал его (ЦУП) несколько раз, так же пробовал разворачивать демо базу, подключал к разным базам: УПП (демо), Стандартный нагрузочный тест (из КИПа), к пустой базе с одним заполненным справочником номенклатуры (для нагрузки использовал консоль запросов).
Результаты в каждом случае одни и те же. Тем более по отладки видно, что данные собираются и парсятся, а само сохранение разобранных данных вываливается с ошибками.
Возможные проблемы как я считаю это:
1. Глюк в версии релиза ЦУПа;
2. Проблема в связке Win Server 2012 R2 + MS SQL 2012;
3. Платформа 1С;
42. Andreynikus 1361 15.10.14 12:06 Сейчас в теме
Так же возможны проблемы в то случае если используется версия 8.3, не исключено что ЦУП не допилили для работы с новой версией платформы.
ЦУП 2.0.5 или 2.0.7 с 8.2 работает точно без проблем, ну за исключением тех, которые описаны в этой статье :)
43. necropunk 9 15.10.14 13:46 Сейчас в теме
(42) да, тоже про платформу подумал, у нас все на 8.3, возможно и недопилен...
44. DoctorRoza 22.10.14 20:36 Сейчас в теме
Подписался! А после начала курса по Оптимизации .. Ваши посты взлетят от просмотров и плюсов! :)
45. necropunk 9 24.10.14 11:14 Сейчас в теме
Я сам сперва смотрел на эти курсы, захотел очень... А потом почитал программу курсов и понял, что за год настраивания ЦКК и ЦУП, анализа данных, переписывания этих конфигураций "под себя" - мне они уже не так много дадут. Да и денег нет. Я долго мучаюсь с ЦУП и ЦКК и еще долго буду, так что опытом делиться вполне готов, будем обсуждать.
46. Bad_Developer 24.10.14 11:26 Сейчас в теме
Поддерживаю, у меня идея появилась на базе цупа написать облегченную версию для анализа аналитической информации.
Так же могу порекомендовать книгу от 1С для экспертов, в ней описаны практически все ситуации по оптимизации но сжато остальное надо додумывать самому или ковырятсься в потрохах.
47. necropunk 9 26.10.14 11:11 Сейчас в теме
(46) Bad_Developer, Книгу читал, да, хорошая вещь, если ты про книгу эксперта по технологическим внедрениям. Надо заметить, ЦКК сейчас тоже трэш и угар - если имя сервера больше 20 символов - мониторинг памяти не работает, к примеру, процедур мало, очень много допиливать приходится, от обращений к кластеру до рассылок. Когда она на обычных формах была - и контрольных процедур много было и работало все стабильнее, имхо...
88. Andreynikus 1361 18.05.16 17:53 Сейчас в теме
(46) Bad_Developer,

> ... описаны практически все ситуации по оптимизации ...

Ну насчет всех это вы конечно махнули -)
Книгу однозначно стоит прочитать, но там далеко не все ситуации, а скорее наиболее часто встречающееся.
48. ZDmitry83 9 30.10.14 16:03 Сейчас в теме
Спасибо огромное за статью!
Добавлю свой комментарий по ошибке "Counters.cpp : 112 (0xc0000bb8) – Не удалось добавить счетчик производительности". Исправление из архива не помогло, т.к. счетчики в моей локализации Windows называются иначе. Например счетчик количества взаимоблокировок в моей версии - это "Locks:Количество взаимоблокировок в секунду", а не " блокировки:"Количество взаимоблокировок/с" (как в архиве с исправленями). Точное название счетчика нужно смотреть в "Управление компьютером > Производительность > Средства наблюдения > Системный монитор".
sigmaspb; Korolev; +2 Ответить
49. Andreynikus 1361 31.10.14 01:26 Сейчас в теме
(48) ZhiharevDmitriy, спасибо дополнил.
50. h00k 50 22.11.14 08:43 Сейчас в теме
Думаю стоит сюда перенести проблему с которой столкнулись на курсе:

При анализе взаимоблокировок появляется ошибка “Ошибка при вызове метода контекста (РазделитьФайл)”.

Описание: Как водится с ЦУПом - очередная ошибка с правами. У пользователя, под которым запущен сервер 1С:Предприятие с ЦУП, нет прав на локальную папку Temp, в которой разбираются результаты анализа.

Решение: Пользователю, от имени которого запущен сервер 1С с ЦУП, дать полные права на папку Temp
DoctorRoza; +1 Ответить
51. Andreynikus 1361 23.11.14 19:47 Сейчас в теме
(50) h00k, спасибо, добавил ошибку в статью.
52. пользователь 22.12.14 11:23
Сообщение было скрыто модератором.
...
53. H1nt 20.01.15 20:31 Сейчас в теме
Добрый день коллега. Большое спасибо за статью.

Подскажите, не сталкивались ли со следующей проблемой ЦУП-а:

Имеем:
Windows Server 2008 R2 (64)
MS SQL Server 2008 R2
1C 8.3.4.496 (сервер 86-x64)
ЦУП 2.0.13.10 (но это не важно - проверил на нескольких релизах 1С-ки и ЦУП-а)

Проблема:
Все нормально установилось, подключена база, прекрасно запускается сбор статистики - видно, что данные собираются, ТЖ пухнет прямо на глазах, в нужном каталоге появляются SQL Trace, т.е. все хорошо.
Проблема возникла при попытке проведения анализа - выскочило сообщение "Анализ проблем на выбранном участке не может быть выполнен. Возможные причины: ...."
Смотрю на "Монитор анализа", а там каждый из замеров с восклицательным знаком :( - ошибка "Ошибка при вызове конструктора (COMОбъект)"

Полез отладчиком - все верно - в процедуре ПолучитьComСоединительПриложения() не отрабатывает конструкция Новый COMОбъект(ПолучитьВерсиюCom() + ".COMConnector"), т.е. попытка создать COM-объект V83.COMConnector

Попытка зарегистрировать comcntr.dll проблему не решает (пробовал и 32-хбитную версию regsvr32, и 64-хбитную) - да, записи в реестре есть, но заставить 1С-ку увидеть этот объект - никак.

Причем, что интересно - конструкция Новый COMОбъект(ПолучитьВерсиюCom() + ".Application") отрабатывает на ура - объект создается!
54. H1nt 20.01.15 21:04 Сейчас в теме
В дополнение, V83.COMConnector не создается из фонового задания - в других режимах, он отрабатывает нормально, т.е. когда создаешь базу, там тоже производится проверка его наличия, причем вызовом из общего модуля.
По логике вещей, проблема не должна быть в правах - иначе он не создавался бы в любом из вариантов.
На всякий случай добавил пользователя, под которым стартует сервер в группу локальных администраторов.
55. H1nt 20.01.15 21:14 Сейчас в теме
Проблема решена.

Для информации (может кого-то убережот от лишнего гемороя): Т.к. сервер 1С - 64-битный, а comcntr.dll - 32, просто зарегистрировать ее через regsvr32 было недостаточно.
Т.е. на клиенте объект COMConnector создавался по той причине, что и клиент и компонента 32-битные.

В рамках фонового задания - объект создается уже вызовом сервера - а тут уже срабатывает следующая пакость - дело в том что на 64-ных ОС сделано разделение реестра, и в зависимости от разрядности вызывающего процесса он получает от ОС разные ветки регистрации - результат сервер не видит зарегистрированную 32-ю компоненту.

Решение проблемы весьма простое - опубликовать данную компоненту как COM+ приложение, т.е. через оснастку "Component Services"
Просто делаем там дополнительную ветку V83COMConnector - и прописываем внутрь нашу dll.

Единственный минус - при обновлении платформы нельзя забывать перепрописать dll из нового релиза, а то предположительно можно получить много сюрпризов.

Все удачи.
invertercant; +1 Ответить
58. Andreynikus 1361 03.02.15 18:51 Сейчас в теме
(55) H1nt,
Спасибо, добавил в копилку
56. necropunk 9 27.01.15 11:29 Сейчас в теме
Столкнулся еще с одной ошибкой. ЦУП не может обработать результаты анализа одной из баз. С другими базами все нормально. При попытке обработки собранных анализов возникает ошибка "Ошибка при вызове метода контекста (ПолучитьСтруктуруХраненияБазыДанных)". Никто не знает в чем может быть дело?
57. Andreynikus 1361 29.01.15 05:17 Сейчас в теме
(56) necropunk,
Не сталкивался, видимо какую-то новую ошибку посадили.
Обычно все ошибки ЦУП решаются пройтись хорошенько отладчиком. Если вам удастся решить эту проблему, большая просьба, отпишитесь пожалуйста в этой ветке. Добавлю в коллекцию.
64. necropunk 9 01.06.15 13:45 Сейчас в теме
(57) В общем, побился над проблемой довольно долго, но потому что балбес - не догадался включить журнал регистрации. Как только включил - он поймал ошибку и записал в журнал расшифровку. В моем случае было сразу две ошибки, связанные с конфигурацией серверов.
65. Andreynikus 1361 01.06.15 17:58 Сейчас в теме
(64) necropunk, а какие именно ошибки были?
66. necropunk 9 02.06.15 13:09 Сейчас в теме
(65) одна - не помню точно уже, не записал, в общем, связана была с правами, а вторая - с СОМ-компонентой, то ли еще одну версию платформы поставили, то ли с правами тоже связано, уже не помню точно а журнал регистрации давно потрачен.
59. ExpSPB 17.02.15 00:43 Сейчас в теме
(56) necropunk,
Попробуй в отдельной обработке установить COM-соединение с проблемной базой данных и в соединении вызови функцию ПолучитьСтруктуруХраненияБазыДанных().
84. Kamikadze 46 22.10.15 10:44 Сейчас в теме
(56) necropunk, У меня такая же проблема, но только связана с превышением пам*яти за один вызов.
99. tivanitsky 18 05.12.16 22:26 Сейчас в теме
100. tivanitsky 18 05.12.16 22:27 Сейчас в теме
(56)
Была такая же ситуация. Посмотрел в журнале регистрации цупа вышел на то что не компилится модуль менеджера справочника в исследуемой базе из которого вызывается процедуры модуля. ПОставил этому модуля галку внешнее соединение и все ок
101. Andreynikus 1361 06.12.16 13:46 Сейчас в теме
(100)
Тимофей, а можете подробнее написать, для какого именно модуля вы установили это флаг?
60. Sиlьver 10 25.02.15 15:59 Сейчас в теме
MSSQL.cpp : 79 ( 0x36b7: The requested lookup key was not found in any active activation context. ) - SQL Server connection failed.

Возникает такая ошибка при регламентном мониторинге. При этом во время настройки соединения проблемы нет. Такое ощущение, что проблема возникает, когда появляется какая-то взаимоблокировка. Все права сделал по инструкции.
63. Andreynikus 1361 01.06.15 11:45 Сейчас в теме
(60) Sиlьver,
Эта ошибка обычно как раз и возникает при анализе дедлоков. Проверьте права на каталог трассировки, пользователь MS SQL Server должен иметь туда полный доступ
61. logos 208 19.05.15 10:12 Сейчас в теме
MSSQL.cpp : 79 ( 0x36b7: The requested lookup key was not found in any active activation context. )

У меня эта ошибка возникала, когда SQL работал под пользователем LOCAL SERVCE и у него не было прав на запись в папку трассировки. Учитывая, что все описывают данную проблему, как симптом не включенного права на трассировку, долбился в стену долго.
62. Andreynikus 1361 01.06.15 11:43 Сейчас в теме
(61) logos,
Добавил, хотя это есть в инструкции.
67. cheburashka 41 29.06.15 08:38 Сейчас в теме
Вот и мои 5 копеек по ошибке Counters.cpp : 112 (0xc0000bb8) – Не удалось добавить счетчик производительности:
при установке 32-битного MS SQL Server на 64-битную Windows счетчики производительности не отображаются в PerfMon и их невозможно добавить из 1С.
"Разгадка кроется в том, что утилита System Monitor (Perfmon), включенная в состав Windows x64 и используемая по умолчанию, также является 64­разрядным приложением. Microsoft не предоставляет возможности собирать информацию от 32­разрядных счетчиков 64­разрядной утилитой System Monitor (Perfmon). Но нет ли у нас и 32­разрядной версии? Да, она присутствует, поделенная на две части, одна из которых слегка замаскирована, а другая скрыта намного глубже!". Более подробно описано здесь
DoctorRoza; +1 Ответить
68. Andreynikus 1361 29.06.15 16:01 Сейчас в теме
(67) cheburashka,
Спасибо, дополнил статью.
69. cheburashka 41 30.06.15 08:25 Сейчас в теме
Andreynikus, я застрял на шаге "Трассировка" из-за того, что у меня нет группы SQLServerMSSQLUser$<SERVERNAME>$<INSTANCENAME>. Использую Windows Server 2012 R2 Standart 64x и SQL Server x64. Тут этой группы нет, есть только SQLServer2005SQLBrowserUser$<SERVERNAME>. На другом сервере с Windows Server 2008 R2 Standart x64 и SQL Server 2008 R2 64x эта группа есть. Не знаете в чем может быть причина?
70. Andreynikus 1361 30.06.15 12:08 Сейчас в теме
(69) cheburashka,
В этой версии MS SQL Server такую группу убрали и без нее все должно работать.
А что у вас возникает ошибка на этом шаге?
Там пользователь ОС клиента ЦУП должен иметь разрешение Alter Trace на сервере СУБД.
71. cheburashka 41 30.06.15 12:47 Сейчас в теме
(70) ошибка возникает на шаге "Сервер ЦУП (Трассировки)": MSSQL.cpp : 80 ( 0x36b7: Указанный ключ соответствия не обнаружен ни в одном из активных контекстов активации. ) - SQL Server connection failed.
Причем у вас это ошибка MSSQL.cpp : 79 а у меня MSSQL.cpp : 80. В инструкции сказано, что нужно пользователя добавить в эту группу. Но ведь группы нет. При этом шаг "Трассировка" прошел успешно. Права на папку с трассировками имеют "Все".
72. Andreynikus 1361 30.06.15 12:51 Сейчас в теме
(71) cheburashka,
Там вообще можно ничего не указывать, это шаг не обязателен.
Просто если вы укажите сетевой каталог то трассировки будут удалятся после использование.
Проще ничего не указывать и удалить трассировки потом вручную, чем разбираться с правами доступа.
73. cheburashka 41 30.06.15 13:15 Сейчас в теме
(72) это я знаю из Вашего курса, но возможность автоматического удаления трассировок мне понравилась и я решил ею воспользоваться. Но после того как столкнулся с ошибкой, а инструкция указывала на то же самое, что делается на шаге "Трассировки", то я подумал, что эта группа пользователей Windows важна и шаг "Трассировка" я не выполнил, хотя ошибок не получил.
74. Andreynikus 1361 30.06.15 16:35 Сейчас в теме
(73) cheburashka,
Сейчас проверил, очень странное поведение вроде в ЦУП выполняется один и тот же запрос, однако на шаге трассировок он выполняется успешно, а на шаге Сервер (трассировки) выполняется с ошибкой даже при наличии всех прав.
Если надо что бы трассировки удалялись, просто перепишите код ЦУП что бы на этом шаге не было проверок, а молча удалялись файлы трассировок.
75. cheburashka 41 30.06.15 17:06 Сейчас в теме
97. Kamikadze 46 31.10.16 23:40 Сейчас в теме
(74) Вот я убрал удалять трассировки, и ошибка все равно есть.

MSSQL.cpp : 80 ( 0x36b7: The requested lookup key was not found in any active activation context.
98. Andreynikus 1361 01.11.16 12:33 Сейчас в теме
(97) Kamikadze, а причем здесь флаг Удалять трассировки?
Вам надо попробовать 2 варианта решений:

1. Пользователю ОС под которым запущен клиент ЦУП и пользователю ОС под которым запущен сервер 1С на котором размещается база ЦУП, нужно дать права «Alter trace» в SQL Server, просто откройте инструкцию на шаге настройки «Трассировки» и сделайте все по шагам еще раз, только сделать это нужно для двху пользователей.

2. Проверить, что у пользователя под которым запущен сервер СУБД есть доступ на чтение и на запись в указанный каталог трассировки.
76. cheburashka 41 01.07.15 09:29 Сейчас в теме
Andreynikus, у меня еще такой вопрос к Вам: если я хочу мониторить 2 разные базы, находящиеся на одном сервере в одном кластере, я могу при настройке указать для них одинаковые папки для хранения логов ТЖ и трассировок?
77. Andreynikus 1361 01.07.15 12:32 Сейчас в теме
(76) cheburashka,
Да можно, т.к. ЦУП все равно создает еще один подкоталог с уникальным именем так что конфликта не будет.
Можно даже 2 базы в одной базе ЦУПа мониторить одновременно.
78. Bloood 23 15.07.15 23:13 Сейчас в теме
Коллеги, подскажите пожалуйста куда копать. При настройке ЦУПа ошибок не возникает. Но оперативные данные не собираются. ТЖ не пишется. Хотя при настройке он создавался и удалялся автоматически. Заранее спасибо.
79. Andreynikus 1361 16.07.15 09:02 Сейчас в теме
(78) Bloood,
Насчет оперативных данных - проверьте что что у логина базы данных информационной базы есть право processadmin на сервере СУБД.

По поводу ТЖ - либо указали не тот каталог conf, либо нет прав в каталог записи лога.

Пройдите мастер настройки еще раз, обычно после этого большая часть проблем либо уходит либо явно проявляется ошибка.
80. Bloood 23 16.07.15 12:09 Сейчас в теме
Права processadmin есть. Каталог указал C:\Program Files\1cv8\conf. Права дал группе "ВСЕ" на чтение и на изменение. При проходе мастером настроек logcfg.xm создается и автоматически удаляется. Логи тоже начинают писать, но тоже автоматически удаляются. Мастером настроек проходился раз десять. Уже наизусть вызубрил всю инструкцию)) Так же пытался указать не локальный каталог, а сетевой. Проблема осталась та же. Мастер настроек проходит без проблем, а оперативных данных нет(
81. Bloood 23 16.07.15 12:22 Сейчас в теме
Пытался подкидывать файл конфига(logcfg.xml), который создавался при проходе мастером настроек. Логи начали писаться, но ЦУП их не обрабатывает.
Так же организовал запуск службы 1с и службы sql под одним и тем же пользователем. Под этим же пользователем запускал и ЦУП. Но это не помогло.
82. Bloood 23 16.07.15 12:46 Сейчас в теме
Кстати, так же не создаются трассировки. В мастере настроек они создавались без проблем. Пытался цуп настроить к различным базам(к тестовой, к боевой) проблема одна и та же. Нет оперативных данных.
83. Andreynikus 1361 16.07.15 16:22 Сейчас в теме
(82) Bloood,
Тогда самый верный способ это запустить ЦУП и пройтись отладчиком, посмотреть на каком этапе идет ошибка при получении данных.
85. alex15650 211 09.01.16 23:40 Сейчас в теме
По поводу ошибки ЦУП при настройке:

Counters.cpp : 112 (0xc0000bb8) – Не удалось добавить счетчик производительности.

Долго бился, в итоге в отладке посмотрел на имя счетчика и меня смутило наличие в начале имени "\\localhost". В общем в коде модуля (общий модуль КипВнешнийКомпонент, функция ВыполнитьМетод) сделал удаление этой строки, чтобы счетчик выглядел как "\SQLServer:Locks(_Total)\Number of Deadlocks/sec", а не "\\localhost\SQLServer:Locks(_Total)\Number of Deadlocks/sec".
В итоге все заработало!
Решения проблемы в сети не нашел, поэтому делюсь. Может тоже кому-то пригодится.
Прикрепленные файлы:
86. Bloood 23 18.05.16 12:47 Сейчас в теме
Доброго дня, Коллеги.
Периодически, при анализе ожиданий на блокировках, возникает ошибка вида
{ОбщийМодуль.СтруктураМетаданных.Модуль(207)}: Не найдено имя таблицы 1С для 'Correspond=0 Splitter=0 Account=25:9ae320d5e1503f5a4c3421b79a621088 ExtDimension1=128:9c55003048bce18611dfdc2c6da892d8 ExtDimension2=85:8e68000c294e5b6c11e2cd9f8b3404dc Fld1329=169:949d01e374c042084a4970ffabb89a02 Fld1330=Null'
Тестирование и исправление базы не помогло.
Подскажите пожалуйста в какую сторону копать?
87. Andreynikus 1361 18.05.16 17:49 Сейчас в теме
(86) Bloood,
1. Попробуйте заменить процедуры в конфигурации ЦУП исправленными процедурами из архива к статье.
2. У вас случайно не MS SQL Server 2014?
89. Bloood 23 19.05.16 10:24 Сейчас в теме
(87) Спасибо за комментарий.Попробую заменить процедуры. Используем SQL server 2005.
Оставьте свое сообщение