Просмотр и анализ структуры базы данных (отчет на СКД)

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

Разработка - Инструментарий разработчика

SQLServer SQL Server PostgreSQL структура базы данных индексы таблицы метаданные

Отчет для просмотра и анализа структуры базы данных с поддержкой файловых баз (ограниченный режим), а также баз на SQL Server и PostgreSQL.

Назначение и возможности

Отчет предназначен для просмотра и анализа структуры информационных баз 1С. Может быть полезным инструментам для администраторов, специалистов по производительности и энтузиастов, изучающих работу платформы на уровне базы данных.

Основные возможности отчета:

  • Отображение таблиц базы данных, их полей и индексов с учетом связей между объектами базы данных и метаданными конфигурации.
  • Вычисление размера таблиц и индексов для объектов конфигурации, а также количества записей в них.
  • Отображение НЕплатформенных индексов в базе (те, что были добавлены вручную администратором или разработчиком).
  • Вывод дополнительных атрибутов СУБД для полей таблицы, индексов и их структуры (например, это возможность установки значения NULL, размер каждого отдельного индекса, проверка наличия платформенного индекса в базе данных, порядок полей в индексе и таблицах и др.).
  • Получение информации обо всех таблицах информационной базы, а не только тех, что доступны через "ПолучитьСтруктуруХраненияБазыДанных()". Например, отчет позволит посмотреть информацию о системных таблицах "V8USERS" и "PARAMS", а также отобразит таблицы другие служебные / системные таблицы.
  • Дополнительная классификация объектов и их частей. Например, добавлены поля "Вид объекта", "Тип объекта", доп. описание полей составных типов данных и др.
  • Расширенное отображение типа данных 1С для полей.
  • 10 предопределенных вариантов отчетов с различной детализацией.
  • Гибкая настройка отображения и компоновки данных с помощью штатных возможностей системы компоновки данных.
  • Поддержка подсистем БСП (варианты отчетов и дополнительные отчеты и обработки).

Отчет поддерживает работу в файловом варианте информационной базы, но в ограниченном режиме - доступен только просмотр структуры базы данных, полученный с помощью штатного метода "ПолучитьСтруктуруХраненияБазыДанных()". Весь расширенный функционал доступен только для клиент-серверного варианта работы платформы 1С в связке с такими СУБД как SQL Server и PostgreSQL.

Необходимая версия платформы для работы отчета - 8.3.5 и выше. Внутри отчета используется кэширование данных, получение только необходимых данных в зависимости от настроек отчета и еще некоторые фичи.

 
 Но как же файловые базы...

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

 
 Настройки подключения

Классическим вариантом отчета, который повторяет функциональность большинства обработок схожего назначения на Инфостарт (примеры таких разработок смотрите в разделе "Другие ссылки" ниже. И спасибо их авторам за проделанную работу! Вы все потрясающие!является "Таблицы хранения (основная)". Ознакомьтесь со скриншотом под спойлером, ничего не напоминает?

 
 Скриншот под спойлером :)

Обратите внимание на системные таблицы и группировку по дополнительным полям классификации. Остальные варианты уже имеют значительные отличия и кратко будут рассмотрены далее.

Варианты отчетов

Изначально отчет содержит в себе 10 предопределенных вариантов. Почему 10? Я не знаю.

 
 Таблицы хранения (только структура)
 
 Таблицы хранения (основная)
 
 Таблицы хранения (с полями)
 
 Таблицы хранения (с полями, расширенный)
 
 Таблицы хранения (с индексами)
 
 Таблицы хранения (с индексами, расширенный)
 
 Использовано места по видам объектов
 
 Количество записей по видам объектов
 
 ТОП 10 объектов по размеру
 
 ТОП 10 объектов по количеству записей
 
 Неиспользуемые таблицы

Но не останавливайтесь на том, что есть! Импровизируйте, настраивайте, экспериментируйте! Создайте свой вариант с блэкджеком и кастомизацией!

Послесловие

Это еще не конец! Перед Вами первая и основная версия отчета, которую я использую для повседневных задач. В будущем, если появится интерес от сообщества, будет опубликована расширенная версия отчета, с помощью которой можно будет:

  • Получить еще более подробную классификацию таблиц и полей базы данных
  • Проанализировать файловые группы и секции (да, в мире 1С это возможно!)
  • Проанализировать состояние индексов и статистик
  • Получить рекомендации по отсутствующим индексам в базе данных (как для SQL Server, так и для всеми теперь обожаемого PostgreSQL!)
  • Ответить на вопрос "Какие индексы я создал два года назад, но они при этом ни разу не использовались?"

Отчет создавался человеком для человеков, поэтому человеческий фактор исключать нельзя :) Прошу обо всех найденных ошибках, неточностях, предложениях писать в приватный чат (так будет проще уточнять детали) или в комментариях.

Да прибудет с Вами сила, творческая мощь, тяга к знаниям и просто хорошее настроение!

 
 История изменений отчета
 
 v1.0.0 - 24.07.19 
 
 v1.0.0.1 - 27.07.19
 
 v1.0.0.3 - 07.01.20
 
 v1.0.0.4 - 28.01.20

Работа над отчетом продолжается :)

Другие ссылки

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

Наименование Файл Версия Размер
Просмотр и анализ структуры базы данных (отчет на СКД)

.erf 64,02Kb
28.01.20
160
.erf 1.0.0.3 64,02Kb 160 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. VmvLer 24.07.19 19:46 Сейчас в теме
по презентации, вроде, монтументально.

конечно, главная практическая ценность скрыта в варианте послесловия.

расширенная будет, вероятно, за звонкую монету и представленный вариант
наверняка маркетинговое исследование для определения цены.
2. YPermitin 8572 24.07.19 20:08 Сейчас в теме
(1) мне очень жаль, что я вызвал у вас такие мысли.

То есть отчет бесполезен и не стоило тратить время на его реализацию?
3. sapervodichka 3468 24.07.19 21:33 Сейчас в теме
крутая вещь, однозначно + у меня есть, но более народный взгляд ))) https://infostart.ru/public/1093355/ с возможностью базы сравнить между собой
YPermitin; +1 Ответить
4. Xershi 983 24.07.19 22:05 Сейчас в теме
(3) ну уже хоть что-то свое появилось) Или скрестили. Осталось написать под 8.3.15, там разработчики обещали платформенный механизм.
5. YPermitin 8572 25.07.19 07:05 Сейчас в теме
(3) хороший инструмент. Я на него ссылку добавил в конце статьи :)
sapervodichka; +1 Ответить
6. Aletar 25.07.19 09:34 Сейчас в теме
В будущем, если появится интерес от сообщества, будет опубликована расширенная версия отчета


Интерес, определенно, есть.
PLAstic; YPermitin; +2 Ответить
7. YPermitin 8572 25.07.19 11:49 Сейчас в теме
(6) это хорошо :)

Скорее всего новая версия будет уже в октябре или позже, т.к. нужно будет на нее выделить время.

Из того что планирую добавить:
- файловые группы и секции
- Улучшить классификацию служебных таблиц и полей
- Подробная информация об объектах статистики и индексах
- Поиск избыточных индексов
- Анализ недостающих индексов
- Проблемы таблицы остатков
- Поиск излишних таблиц, появившихся при неудачной реструктуризации
- Подсчет количества строк и приблизительную оценку размера данных для файловых баз

Часть из этого уже готова, только нужно привести в порядок. Вообщем, функционал будет, но не в ближайшее время.
8. Разумов 26.07.19 06:05 Сейчас в теме
Классный инструмент! Жаль, мани нет, с удовольствием бы поигрался со своей базой.
9. ligsht 11 26.07.19 14:10 Сейчас в теме
{ВнешнийОтчет.ПросмотрИАнализСтруктурыБазыДанных.Форма.ФормаОтчета.Форма(148)}: Ошибка при вызове метода контекста (Execute)
РезультатБД = КомандаБД.Execute();
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Недопустимое имя столбца "is_memory_optimized".


MS SQL 2008.
Поправьте пожалуйста.
YPermitin; +1 Ответить
10. YPermitin 8572 26.07.19 14:14 Сейчас в теме
(9) принято.

Исправлю совместимость со старыми версиями SQL Server и обновлю публикацию.

Чтобы повторно не скачивать - отправлю новую версию в сообщениях.

Всем, кому актуальна работа со старыми версиями СУБД и кто уже скачал отчет - просто напишите в личных сообщениях.
11. parshin 71 26.07.19 14:26 Сейчас в теме
А если postgresql под linux, то не работает. Вот обидно.
YPermitin; +1 Ответить
12. YPermitin 8572 26.07.19 14:33 Сейчас в теме
(11) у Вас только PostgreSQL под .nix или сервер 1С тоже?

Вообще, обращение к БД идет с использованием ADO. Предполагал, что ADO может подключиться к pg под Linux, главное чтоб серер 1С / клиент 1С (в зависимости откуда запрос в настройках) были под Windows.
13. parshin 71 26.07.19 14:36 Сейчас в теме
14. parshin 71 26.07.19 14:39 Сейчас в теме
(12) При запуске с клиента windows ошибка: "PostgreSQL: Ошибка установки соединения:
{ВнешнийОтчет.ПросмотрИАнализСтруктурыБазыДанных.Форма.ФормаНастроекПодключения.Форма(190)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию"
Похоже надо ODBC настроить. Попробую разобраться.
YPermitin; +1 Ответить
15. YPermitin 8572 26.07.19 14:45 Сейчас в теме
(14) хорошо, отпишитесь получится или нет.

Тоже поэкспереметирую, опишу этот момент в инструкции к отчету.

Варианты по работе с приложениями 1С под линукс возьму на "подумать".
16. parshin 71 26.07.19 14:49 Сейчас в теме
(15)
Работает!
1. Надо установить ODBC драйвер отсюда (я установил самый свежий): https://www.postgresql.org/ftp/odbc/versions/msi/
2. В 1с в настройках подключения установить галку "Запросы с клиента"
YPermitin; +1 Ответить
17. YPermitin 8572 26.07.19 14:51 Сейчас в теме
18. YPermitin 8572 26.07.19 22:24 Сейчас в теме
Публикация обновлена:
1. Обновлен файл отчета. Исправлена совместимость со SQL Server 2008 / 2012 редакциями.
2. Дополнена информация о настройках подключения, если сервер 1С установлен на *.nix системе.
3. Добавлена история изменений в конце публикации.

Всем, кто скачал отчет ранее и необходима совместимость с версиями SQL Server 2008 / 2012 - напишите мне в личные сообщения, предоставлю ссылку для скачивания.
19. user771565 02.10.19 10:13 Сейчас в теме
А кто нибудь знает как напрямую в postgre дернуть картинки из 1с ?
20. YPermitin 8572 02.10.19 21:50 Сейчас в теме
(19) конечно к отчету это не относится, но не могли бы Вы уточнить суть задачи?
21. user771565 03.10.19 03:01 Сейчас в теме
извиняюсь вопрос снят
YPermitin; +1 Ответить
22. mairon 21.10.19 10:31 Сейчас в теме
На конфигурациях УПП и БП2 будет работать?
YPermitin; +1 Ответить
23. YPermitin 8572 21.10.19 10:35 Сейчас в теме
(22) по идее привязки к конфигурациям нет, поэтому должно работать.

Если что-то не так - пишите, разберемся.
24. user1135262 21.10.19 11:24 Сейчас в теме
SQLServer: Ошибка установки соединения:
{ВнешнийОтчет.ПросмотрИАнализСтруктурыБазыДанных.Форма.ФормаНастроекПодключения.Форма(190)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): При входе в систему пользователя "xxx" произошла ошибка.

Как-то можно обойти эту ошибку? MSSQL 2016
YPermitin; +1 Ответить
25. YPermitin 8572 21.10.19 11:28 Сейчас в теме
(24)
При входе в систему пользователя "xxx" произошла ошибка


Подозреваю, что у Вас на сервере СУБД отключена аутентификация средствами SQL Server, только доменная аутентификация доступна.
26. YPermitin 8572 07.01.20 19:48 Сейчас в теме
(0) Публикация обновлена!

Расширение функционала отчета и исправление ошибок:
- Улучшена сортировка полей таблиц и индексов при выводе в отчете. Ранее сортировка выполнялась по имени, теперь в том порядке. в котором поля расположены в базе данных.
- Определение имен полей с служебных таблицах работает более точно. Ранее в определенных ситуациях имя поля могло быть неизвестно.
- Исправлено получение размера конкретных индексов. Ранее размер конкретного индекса определялся только для основного кластерного индекса. Также теперь размер индекса всегда отображается в одной колонке (вместе с итоговым размером индексов для таблицы).
- Улучшение показателей размера индексов для PostgreSQL.
- Добавлен вариант "Неиспользуемые таблицы", показывающий те таблицы, которые фактически не используются. Это могут быть таблицы без записей, или таблицы после неудачной реструктуризации.
- Исправлены ошибки открытия форм, если отчет встроен в конфигурацию.
27. sertak 236 07.05.20 11:39 Сейчас в теме
Буквально сегодня пришла в голову мысль запилить обработку, которая будет через DMV/DMF вытягивать рекомендации по отсутствующим индексам и выводить соответствующие объекты 1С, ну а там хвостом уже и что-нибудь сопутствующее типа всех индексов и другой красоты, и вот оказывается все уже написано ). Шикарный функционал, отсутствующих индексов, правда, пока нет, но они в планах. Муст хаве короче и снимаю шляпу.
Оставьте свое сообщение

См. также

Эмулятор скриптов в 1С:Документооборот Промо

Документооборот и делопроизводство Инструментарий разработчика Документооборот и делопроизводство v8 ДО Платные (руб)

В 1С:Документообороте можно использовать программный код 1С в пользовательском режиме (не в конфигураторе). Однако если в конфигураторе есть отладчик, то в пользовательском режиме протестировать скрипт достаточно сложно. Внешняя обработка Эмулятор скриптов позволяет вывести результаты скрипта и проверить работу алгоритма на разных документах.

1000 руб.

13.12.2017    13265    91    0    

Отключение создания задачи ознакомления для бизнес-процесса "Согласование" в 1С: Документооборот

Практика программирования Документооборот и делопроизводство v8 v8::Бизнес-процессы ДО Абонемент ($m)

В данной публикации я хочу поделиться расширением, с помощью которого можно отключить создание задачи ознакомления для бизнес-процесса "Согласование" в 1С: Документооборот.

1 стартмани

30.11.2019    4319    6    pavelpribytkin96    4    

1С: Документооборот. Роли, использующие объекты адресации. Конфигурация остается типовой (используется расширение)

Информационная безопасность v8 ДО Абонемент ($m)

Расширение функционала документооборота. Реализована возможность использования ролей с объектами адресации. Конфигурация остается типовой (используется расширение)

5 стартмани

10.01.2019    7396    15    sulig    21    

Видеокурс-самоучитель "1С:Документооборот - ГУРУ" для самостоятельного внедрения

Пользователю системы Документооборот и делопроизводство v8 ДО Платные (руб)

Самый детальный и самый полный самоучитель по программе 1С:Документооборот, в котором Вы научитесь правильно работать, настраивать, администрировать и внедрять конфигурацию 1С:Документооборот. Все уроки курса построены на последовательном заполнении пустой базы 1С:Документооборот КОРП в клиент-серверном варианте.

89000 руб.

30.10.2018    21097    8    0    

Перенос документов и процессов между двумя базами 1С:Документооборота Промо

Обработка документов Перенос данных из 1C8 в 1C8 Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО УУ Платные (руб)

Обработка по переносу документов поможет перенести документы и процессы из одной базы 1С:Документооборот в другую. Версии двух баз должны совпадать, а релизы конфигураций 1С:Документооборот могут быть различными. Главное, чтобы была синхронизирована НСИ.

21000 руб.

09.06.2016    20280    8    4    

Вывод всей истории в задаче комплексного процесса

Практика программирования v8::Бизнес-процессы ДО УУ Бесплатно (free)

В статье описывается, какие изменения нужно сделать, чтобы в задаче комплексного процесса выводилась вся история (по всем процессам), а не только история текущего процесса.

08.08.2018    6324    0    E_Babaylova    7    

Печать pdf документа со штампом ЭЦП

Печатные формы документов Документооборот и делопроизводство Документооборот и делопроизводство v8 v8::УФ ДО Абонемент ($m)

Печать pdf файла, прикрепленного к внутреннему документу, подписанному ЭЦП, с установкой отметки о подписании.

1 стартмани

24.05.2018    14316    94    App0st0l    14    

Нанесение штампа на PDF файл при регистрации (входящий номер и дата)

Практика программирования v8 ДО Бесплатно (free)

Данный код реализует возможность автоматического нанесения штампа на PDF файл при регистрации (входящий номер и дата).

14.05.2018    14126    0    aabogachev    39    

Ограничения запуска процессов в 1С:Документооборот

Обработка документов Обработка справочников v8 ДО Платные (руб)

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

21000 руб.

03.04.2017    10920    33    0    

Управление договорами в 1С:Документооборот

Управление бизнес-процессами (BPM) Документооборот и делопроизводство Пользователю системы Бухгалтерский учет Документооборот и делопроизводство v8 ДО УУ Бесплатно (free)

В 1С:Документооборот в релизах 2.1.7 и 2.1.8 концепция учета договоров продолжила свое развитие (появились стороны договора). Это повлияло и на бизнес-процессы (теперь вместо процесса Утверждение надо пользоваться процессом Подписание для договоров). Рассмотрим основные моменты, на которые надо обратить внимание при внедрении управления договорами в 1С:Документооборот.

24.01.2017    33902    0    vlush78    0    

Блокировка повторного запуска комплексного процесса в 1С: Документооборот 2

Администрирование данных 1С Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО Абонемент ($m)

Острой проблемой при работе документооборота стал повторный запуск комплексного процесса. Пользователи несколько раз  запускали один и тот же комплексный процесс по документу, не убедившись, что этот же процесс уже запущен. В результате наступил хаос, все возмущались и недоумевали, почему один и тот же документ приходил на согласование и исполнение несколько раз. 

2 стартмани

04.10.2016    19970    73    zabaluev    25    

Права доступа в 1С:Документооборот 2.1

Информационная безопасность Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО Бесплатно (free)

В программе 1С:Документооборот ред 2.1 механизм системы прав доступа сильно изменился. С одной стороны, права доступа в данной версии стали проще и быстрее, с другой стороны - права по рабочим группам объектов теперь могут противоречить политикам доступа. Разберемся в данной статье как работает механизм прав доступа в 1с документообороте 2.1.

16.09.2016    71284    0    vlush78    0    

Новое в 1С:Документооборот ред. 2.1

Пользователю системы Управленческий учет (прочее) Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО УУ Бесплатно (free)

Фирма 1С не стоит на месте и продолжает радовать нас своими новыми версиями конфигурации 1С:Документооборот. В конце мая 2016 года вышла новая редакция 2.1, которая содержит как принципиально новые возможности, так и улучшение старых функций. В данной статье будут рассмотрены отличия конфигурации 1С:Документооборот редакции 2.1 по сравнению с редакцией 2.0.

15.06.2016    32320    0    vlush78    7    

Нагрузочное тестирование 1С:Документооборот

Производительность и оптимизация (HighLoad) Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО Бесплатно (free)

Перед запуском 1С:Документооборот для средних и крупных внедрений крайне желательно провести нагрузочное тестирование, чтобы проверить корректность и скорость работы системы электронного документооборота в условиях максимальной нагрузки. В данной статье пойдет речь о том, как провести нагрузочное тестирование в 1С:Документооборот без использования 1С:КИП.

28.12.2015    20924    0    vlush78    1