Определение размера базы данных 1С с разбивкой по объектам метаданных (обычная и управляемая форма)

Публикация № 648264

Администрирование - Статистика базы данных

обработка размер базы данных обычная форма управляемая форма

29
Обработка для определения размера таблиц базы данных 1С. Адаптирована для конфигураций на обычных и управляемых формах 8.2 - 8.3!

Описание

Адаптация популярной обработки Определение размера базы данных 1С с разбивкой по объектам метаданных для управляемых форм.

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

Режим использования модальности: Не использовать.

Режим использования синхронных вызовов расширений платформы и внешних компонент: Не использовать.

В версии для 8.3.6:

Процедура "Найти", заменена на "СтрНайти", т.к. считается устаревшей!

Весь функционал проиллюстрирован в скриншотах!

Ограничения

1. Есть ПК, на котором запускаются клиенты 1С. 
2. Есть ПК, на котором запускается агент сервера 1С. 
3. Есть ПК, на котором запускается SQL база. 

Первое ограничение работа с СУБД MS SQL. 
Второе ограничение работа по технологии COM. Данную технологию разработали для семейства ОС Windows, насколько знаю только ей и поддерживается. 


Вывод: 
1. Если у вас СУБД не MS SQL, то данная обработка не сработает! 
2. Если ПК, на котором запускается агент сервера 1С не на ОС Windows, то часть функционала будет неработоспособна. 
3. Если ПК, на котором запускаются клиенты 1С не на ОС Windows, то часть функционала будет неработоспособна. 
4. Если ПК клиента и сервера 1С не на ОС Windows, то данная обработка не сработает! 

Обновление от 09.06.2018
- Добавлена команда с гарантированным получением результата, но в управляемых формах значительно страдает производительность.
- Дополнена справочная информация.

Важно! Обработка не тестировалась на конфигурациях с расширениями, которые изменяют метаданные. Т.к. они изменяют структуру БД.

P.S. Если материал вам помог, поблагодарите автора, поставив звездочку!

29

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

Наименование Файл Версия Размер
Размер таблиц базы данных 3.1 (8.3.6+)
.epf 32,70Kb
31.01.19
167
.epf 3.1.1 32,70Kb 167 Скачать
Размер таблиц базы данных 2.1 (8.2-8.3.5)
.epf 33,44Kb
09.06.18
31
.epf 2.1.1 33,44Kb 31 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. japopov 54 13.07.17 12:52 Сейчас в теме
То, что это только для MS SQL, указать просто забыли...
nedopro; AlexB.; +2 Ответить
2. Xershi 558 13.07.17 12:57 Сейчас в теме
(1) строчки такой нет, но из описания это сразу видно! А точнее в скриншотах!
3. Fox-trot 97 14.07.17 22:27 Сейчас в теме
такой инструмент каждый должен попробовать навоять :)
4. Xershi 558 15.07.17 00:31 Сейчас в теме
(3) причем и на клиенте и на сервере!
5. Fox-trot 97 15.07.17 13:23 Сейчас в теме
я использовал адо, но по большому счету редька не слаще
6. Xershi 558 15.07.17 13:45 Сейчас в теме
(5) длительность работы алгоритма не от ком-объекта зависит, а от кода!
7. Fox-trot 97 15.07.17 21:03 Сейчас в теме
так а я про что
помница еще была у мелких технология джет, но ее быстренько похоронили :)
8. Xershi 558 15.07.17 21:04 Сейчас в теме
(7) дискутировать тут не о чем. Разница межу сервером и клиентом примерно 1 к 1,5. А у вас наверно было 1 к 300 или более в зависимости от данных.
9. TrinitronOTV 05.09.17 09:31 Сейчас в теме
Для файловых баз такую обработку как-то можно использовать?
10. Xershi 558 05.09.17 15:33 Сейчас в теме
(9) это разработка не предназначена для файловых 1С! Т.к. она обращается к SQL серверу за данными. Для файловых есть специальная утилита или похожие разработки.
11. TrinitronOTV 07.09.17 05:40 Сейчас в теме
12. DenisCh 07.09.17 07:54 Сейчас в теме
(11) V8TableSizes от MMF
Качал, вроде, отсюда. На файловой работает. (Да только на файловой и работает )
13. TrinitronOTV 08.09.17 05:26 Сейчас в теме
(12) нашел такую, но версия не совсем новая, спасибо за информацию
14. dmitry1975 186 28.12.17 12:04 Сейчас в теме
Спасибо, помогла обработка :)
15. Дмитрий74Чел 103 02.01.18 20:46 Сейчас в теме
Автор, в описании четко не увидел: в тонком клиенте работает ли? А то много аналогов - но только в толстом.

Второй вопрос: учтена ли ошибка http://forum.infostart.ru/forum34/topic61223/message686024/#message686024
16. Xershi 558 02.01.18 21:36 Сейчас в теме
(15) УФ предполагают работу как в тонком клиенте так и в толстом.
Т.к. данной ошибки не встречал, то гарантировать не могу.
17. Дмитрий74Чел 103 09.01.18 07:56 Сейчас в теме
(16) изменю формулировку: используется ли RS=cmd.Execute(); вместо RS.Open();
18. Xershi 558 09.01.18 11:27 Сейчас в теме
(17) наверное речь идет об этой строке кода:
RS.Open(СтрЗаменить(ШаблонЗапроса, "%ИмяТаблицы%", Строка.ТаблицаSQL), Connect);
19. Xershi 558 09.06.18 14:10 Сейчас в теме
Переписал алгоритмы для гарантированного получения результата, но скорость при этом пострадала:
RS.Open(СтрЗаменить(ШаблонЗапроса, "%ИмяТаблицы%", Строка.ТаблицаSQL), Connect);

Данный код выполняется 5 290 раз 58,318323 секунд и занимает 78,18 % времени исполнения всего кода.
А вот улучшенный вариант:
RS = cmd.Execute();

В разы медленнее из-за запроса на удаление таблиц и таймаута на ожидание блокировок, выполняется те же 5 290 раз, но уже за 943,982579 секунд и времени на все занимает уже 98,38 %!
А если запускать все на клиенте будет еще в 1,5 - 2 раза медленнее!

У вас конечно результаты будут другие, т.к. у каждого своя база, где-то меньше, а где-то и намного большего размера.
20. delta 290 05.10.18 02:50 Сейчас в теме
Добрый день! Интересная обработка.
А пробовали сделать такое для PostgreSQL?
21. Xershi 558 05.10.18 09:12 Сейчас в теме
(20) добрый день. Нет опыта работы с такой СУБД.
22. Dream_kz 89 13.01.19 09:12 Сейчас в теме
23. Xershi 558 13.01.19 10:30 Сейчас в теме
(22) кроме установки драйвера код переписывали?
24. Dream_kz 89 13.01.19 10:49 Сейчас в теме
(23) Да, запрос абсолютно другой
25. Xershi 558 13.01.19 10:57 Сейчас в теме
(24) раз писали через ком, то работать будет только на клиенте. УФ на линуксе с сервера не запустите! Только ОФ в толстом клиенте, т.к. там все на клиенте.
26. Dream_kz 89 13.01.19 11:01 Сейчас в теме
(25) Сервер 1С может быть и на windows, тогда работать должно, и не важно где будет сервер субд.
27. Xershi 558 13.01.19 12:15 Сейчас в теме
(26) так я вам написал, что если сервер 1С будет на линуксе. На windows и так понятно!
28. delta 290 17.01.19 10:12 Сейчас в теме
(22) Как я понимаю, эта версия требует наличия Windows и его компонент. А если у компании Линукс и Постгрес на нём, то эта компонента на заработает?
29. Xershi 558 17.01.19 10:17 Сейчас в теме
(28) данная публикация работает через ком. Это технология винды. Если у вас толстый клиент обычное приложение на винде, либо режим запуска на клиенте, это уже у автора переделки надо уточнять, выше есть публикация, которая поддерживает другой тип базы данных, даже если сервер на линуксе. Иначе увы!
30. Dream_kz 89 17.01.19 10:28 Сейчас в теме
(28) Есть есть хоть один windows-клиент, то заработает. Если все исключительно (сервер 1С, клиенты 1С в т.ч.) на linux, то нет. На какой ОС находится сервер субд не важно.
31. Xershi 558 17.01.19 11:04 Сейчас в теме
(30) уточню более детально.
1. Есть ПК, на котором запускаются клиенты 1С.
2. Есть ПК, на котором запускается агент сервера 1С.
3. Есть ПК, на котором запускается SQL база.

Первое ограничение работа с СУБД MS SQL.
Второе ограничение работа по технологии COM. Данную технологию разработали для семейства ОС Windows, насколько знаю только ей и поддерживается.

Вывод:
1. Если у вас СУБД не MS SQL, то данная обработка не сработает!
2. Если ПК, на котором запускается агент сервера 1С не на ОС Windows, то часть функционала будет неработоспособна.
3. Если ПК, на котором запускаются клиенты 1С не на ОС Windows, то часть функционала будет неработоспособна.
4. Если ПК клиента и сервера 1С не на ОС Windows, то данная обработка не сработает!

Думаю это будет исчерпывающий ответ!
Дополнительно внес это в описание публикации, чтобы не нужно было перечитывать комментарии!
32. delta 290 17.01.19 12:20 Сейчас в теме
(30) Тут всё упирается именно в чистый Линукс, даже без следов windows.
33. Dream_kz 89 17.01.19 14:34 Сейчас в теме
(32) Коллега, предлагаю писать в профильной теме https://infostart.ru/public/978816/, а то ТС уже ругается, на восклицательные знаки перешел.

Про чистый линукс я думал, для получения данных с сервера субд можно использовать внешние источники данных, в общем-то кроме odbc-драйвера ничего не понадобится, но нужна будет отдельная конфигурация, и идея простого способа (с помощью внешней универсальной обработки) получения информации одной кнопкой теряется, ибо надо получить данные с субд о размере таблиц, данные с нужной базы о структуре таблиц, и желательно целевую базу не модифицировать, то есть com-объектов не будет, и надо будет использовать http-сервисы. Много лишних телодвижений получается, но сделать можно.
34. Chelyapin 30.01.19 20:34 Сейчас в теме
Можете прислать мне обработку для управляемых форм, пожалуйста? Почта krasevE@yandex.ru
35. Xershi 558 30.01.19 20:46 Сейчас в теме
(34) добрый вечер, а почему вы не хотите поделиться опытом на форуме, вам ИС начислит стартмани и сможете скачать любую обработку?
36. Angealtor 19 31.01.19 15:45 Сейчас в теме
Доброго дня! Обработка вылетает с ошибкой "{ВнешняяОбработка.РазмерТаблицБазыДанных31.Форма.ФормаУправляемая.Форма(364)}: Значение не является значением объектного типа (State) Пока RS.State = 0 Цикл" . Как я понимаю зависает на документе из расширения, а затем появляется такая ошибка. Платформа 8.3.13.1690, УТ 11.4.6.207. MS SQL 2012
37. Xershi 558 31.01.19 15:58 Сейчас в теме
(36) добрый день! Обработка не тестировалась на конфигурациях с расширениями, которые изменяют метаданные. И пока такой возможности это проверить тоже нет.
38. Angealtor 19 31.01.19 16:16 Сейчас в теме
(37) Очень жаль. В самой публикации не указано, что обработка не работает с расширениями. Можете помочь, подсказать, в чем может проблема?
39. Xershi 558 31.01.19 16:26 Сейчас в теме
(38) спасибо за комментарий. Добавлю описание, что данные версии не тестировались с расширениями, которые меняют метаданные.
40. Angealtor 19 01.02.19 08:20 Сейчас в теме
(39) Xershi, по самой проблеме сможете проконсультировать? Обработку уже скачал. Попробую разобраться сам, так как данный функционал очень нужен: база сильно растет в последнее время и непонятно в чем причина, так как динамика объема ввода информации не менялась.
41. Xershi 558 01.02.19 09:42 Сейчас в теме
(40) раз ошибка в строке, которую указали, то проблема скорее всего в запросе к базе. Надо тестировать данные, чтобы понять в чем конкретно проблема.
Скорее всего историю данных включили или версионирование. А также ТИИ стоит сделать.
42. Angealtor 19 01.02.19 13:08 Сейчас в теме
(41) Да, версионирование включено.
43. Xershi 558 01.02.19 14:08 Сейчас в теме
(42) запустите удаление старых версий затем ТИИ. Думаю размер на порядок уменьшится. Но и версий старых не будет.
Оставьте свое сообщение