Размер таблиц информационной базы 1С 8.2 - 8.3 на SQL сервере

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

Показывает информацию о размерах таблиц базы данных на SQL (количество строк и занимаемое место в Кб) в связке с метаданными базы данных 1С в виде таблицы.

Показывает информацию о размерах таблиц базы данных на SQL (количество строк и занимаемое место в Кб) в связке с метаданными базы данных 1С в виде таблицы.

Позволяет анализировать базу данных на предмет "толстых мест".

Выводимые данные:

        Зарезервировано, Кб
        Данные, Кб
        Индекс, Кб
        Неиспользовано, Кб
        КоличествоСтрок

Идея взята из публикации //infostart.ru/public/179281/. Изменен запрос (показываются верные данные о размерах таблиц).

Представление результата через схему компоновки данных, возможность менять представления через конструктро СКД.

Работает с платформой 8.2, 8.3 (обычное и управляемое приложение, толстый клиент, тонкий клиент), SQL 2005-2008.

 

Версия 1.1:

  • формат внешней обработки замен на внешний отчет
  • изменен порядок редактирование настроек СКД
  • возможность использования вариантов отчета в управляемом приложении

Версия 1.2:

  • исправлены итоги по группировкам;

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

Наименование Файл Версия Размер
Размер раблиц базы данных
.erf 15,03Kb
23.06.15
851
.erf v.1.2 15,03Kb 851 Скачать

См. также

Комментарии
1. Артем Перепёлкин (it-on) 21.05.14 11:08 Сейчас в теме
Добрый день!
При формировании отчета появляется ошибка.
Конфигурация: Бухгалтерия предприятия, редакция 2.0 (2.0.58.6)
Платформа: 1С:Предприятие 8.3 (8.3.4.437)
Толстый клиент.
Подскажите что я сделал не так.

Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата'
по причине:
{ВнешнийОтчет.РазмерТаблицБазыДанных.МодульОбъекта(151)}: Ошибка при вызове метода контекста (Инициализировать)

по причине:
Ошибка компоновки данных
по причине:
Ошибка инициализации
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Не найден внешний набор данных "ТаблицаДанныхИнформационнойБазы"


Upd. Вопрос снят. В поле Имя сервера надо было ввести имя sql-сервера, а не 1С сервера.
KirealSmith; smit1c; +2 Ответить 1
2. Ildar Gabdrakhmanov (spezc) 308 21.05.14 12:02 Сейчас в теме
Да, ошибка возникает в случае неудачного подключения к SQL. В ближайшее время добавлю обработку ошибки подключения и представление ее с удобном виде
3. WellMaster (WellMaster) 98 30.06.14 14:33 Сейчас в теме
Чем отличается "Размер зарезервировано" от "Размер данные"?
4. Ildar Gabdrakhmanov (spezc) 308 01.07.14 22:03 Сейчас в теме
Данные - это физический размер данных в базе. Зарезервировано - это размер, который "подготовлен" для хранения данных. Например данных в mdf файле 10гб, а сам файл mdf - 15гб (зарезервировано)
5. Lumis 03.09.14 19:31 Сейчас в теме
Очень странно считается ИТОГО для основного варианта отчета, вместо суммы - цифры из первой строки таблицы. И так для каждой колонки.
6. Александр (smit1c) 98 22.10.14 12:32 Сейчас в теме
имя пользователя и пароль - это для доступа к серверу, а не к базе..
7. Ildar Gabdrakhmanov (spezc) 308 22.10.14 12:51 Сейчас в теме
(5) Lumis, спасибо за замечание, проверю
8. Ildar Gabdrakhmanov (spezc) 308 22.10.14 12:51 Сейчас в теме
(6) smit1c, это имя пользователя и пароль на sql (под этим пользователем будет выполнятся подключение к sql и выполняться запрос)
9. Максим Литвинов (maksa2005) 95 23.10.14 11:45 Сейчас в теме
Укажите примеры заполнение ИмяБД...Сервера...пользователя...пароль...все что я указываю в Среда SQL Server Management Studio пишит ошибку:
Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата'
по причине:
{ВнешнийОтчет.РазмерТаблицБазыДанных.МодульОбъекта(151)}: Ошибка при вызове метода контекста (Инициализировать)
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных, СтруктураВнешнихДанных,, Истина);
по причине:
Ошибка компоновки данных
по причине:
Ошибка инициализации
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Не найден внешний набор данных "ТаблицаДанныхИнформационнойБазы"

10. Юрий Осипов (yuraos) 902 26.11.14 21:01 Сейчас в теме
(1) it-on,
(2) spezc,
да ... неплохо бы было бы юзабилити накрутить:
1. подсказки у полей ввода, а то приходится думать - "что за имя сервера, имя базы, пользователь и пароль".
2. контроль заполнения обязательных реквизитов отчета перед его формированием.
3. обработку исключительных ситуаций с внятными сообщениями о причинах ошибки.
11. Юрий Осипов (yuraos) 902 26.11.14 21:05 Сейчас в теме
(10)
ЗЫ
А вообще - клевый отчет!!!

Очень пригодился для выявления причин, почему бэкап базы распух в два раза.
Оказалось моя коллега учудила -
- решила в регистр остатков писать задним числом с периодом '02.01.0001'
;)))
12. борян петров (TODD22) 16 30.12.14 11:31 Сейчас в теме
Спасибо :) Обработка очень пригодилась :)
13. Андрей Бирюков (Andrey34rus) 05.02.15 00:07 Сейчас в теме
14. Александр Воронов (ya.Avoronov) 103 18.02.15 08:26 Сейчас в теме
Спасибо автору.
Можете разъяснить по поводу колонок:

*Размер зарезервировано = 540 000
*Размер данные = 530 000
*Размер индекс = 9 700
*Размер не использовано = 300
*Количество строк = 250 000

На что обратить внимание? Как избавиться от такого размера если это регистр накоплений с 10-ком ресурсов. Что в большей степени влияет на размер таблицы?
15. Ildar Gabdrakhmanov (spezc) 308 24.02.15 08:05 Сейчас в теме
(14) ya.Avoronov, поидее размер таблицы в 540мб сам по себе волновать не должен. Размер таблицы зависит от количества строк и количества измерений/ресурсов/реквизитов (чем больше информации храниться в каждой строке - тем больше "вес" этой строки).
Хотя если честно, есть подозрения в правильности архитектуры вашего решения. В регистре накопления обычно 1-2, максимум 3 ресурса. Но чтобы 10...
16. Alex Necro (alexnecro) 51 11.06.15 06:13 Сейчас в теме
17. Алексей Р. (miniogn) 17 21.06.15 14:50 Сейчас в теме
В настройке отчета сгруппировал по типу метаданных, так вот итоги по группировке не правильно показываются.
18. Ildar Gabdrakhmanov (spezc) 308 23.06.15 07:40 Сейчас в теме
(17) miniogn, большое спасибо за ваш комментарий. Исправил отображение итогов.
19. Александр К (SunSun1979) 20.07.15 13:58 Сейчас в теме
Добавьте поле таймаут, а то у меня вот УТ не успевает отработать :)
20. Валерий К (klinval) 208 28.07.15 11:35 Сейчас в теме
(9) maksa2005, возможно вы указали имя базы как она называется в 1С (с русскими буквами), необходимо же в администрировании серверов в свойствах подглядеть реальное имя базы (без русских букв) и тогда всё будет работать. У меня по крайней мере был именно в этом затык.
21. BlackJack BlackJack (blackjack666) 15 03.08.15 21:52 Сейчас в теме
С Postgre не будет работать?
22. Ildar Gabdrakhmanov (spezc) 308 04.08.15 07:43 Сейчас в теме
(21) blackjack666, будет, если переписать скрипт)
23. Yackov . (Yackov) 96 07.08.15 11:17 Сейчас в теме
Параметры подключения пишу правильные, другой отчет по ним отрабатывает, тут нет:
Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата'
по причине:
{ВнешнийОтчет.РазмерТаблицБазыДанных.МодульОбъекта(23)}: Ошибка при вызове метода контекста (Open)

по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Время ожидания запроса истекло
evn-zorin; andybs; +2 Ответить 2
24. Группа Полипластик (polyplastic) 06.10.15 11:43 Сейчас в теме
Спасибо, отчет полезный.
Удобнее, чем соединять вручную названия таблиц.

Однако, хочу отметить несколько моментов, которые можно доработать:
1.Для соединения с сервером SQL предусмотреть вариант соединения с использованием своей учетной записи. Если ты администратор сервера, имя/пароль вводить не нужно.
2.Неплохо бы сделать кнопку "Проверка соединения". Убедиться, что параметры сервера указаны верно до исполнения отчета
3.Если включить группировку по типу метаданных, можно заметить 2 вещи: пустые значения (сделайте например "Общие" по аналогии с веткой в конфигурации), и системные объекты, которые вероятнее всего не интересуют специалиста 1С. Отобрать можно по тем таблицам, которые выдает ПолучитьСтруктуруХраненияБазыДанных()
4.Не показывает имена табличных частей
25. Ildar Gabdrakhmanov (spezc) 308 07.10.15 07:55 Сейчас в теме
(24) спасибо за ваши комментарии), в ближайшее время обновлю с учетом ваших предложений.
26. Nikoly Nik (Cool_vsi) 15.10.15 10:16 Сейчас в теме
не могу подключиться к базе, объясните пожалуйста в какое поле что вбивать?

Разобрался, везде указываем данные SQL сервера, данные сервера 1с не важны и не нужны тут
спасибо! крутой отчет
27. Ольга Немешева (kn) 32 04.12.15 09:02 Сейчас в теме
Спасибо, полезная обработка!Для файловой использую эту http://infostart.ru/public/82178/
28. rasswet (rasswet) 80 24.05.16 15:44 Сейчас в теме
видимо автору не до обновления обработки :(
BigB; consigroup; +2 Ответить
29. Олег Дмитров (baracuda) 3 20.12.16 14:43 Сейчас в теме
Спасибо большое автору, после нескольких часов мучений с аналогичными обработками скачанными тут же на инфостарте, данные из данной обработки были получены за 1 минуту.
Лайк.
30. Евгений Зорин (evn-zorin) 18 23.04.17 20:11 Сейчас в теме
{ВнешнийОтчет.РазмерТаблицБазыДанных.МодульОбъекта(23)}: Ошибка при вызове метода контекста (Open)
RecordSet.Open(ТекстЗапросаSQL, Connection, 1);
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Время ожидания запроса истекло

в чём может быть дело?
Оставьте свое сообщение