Работа с базами данных 1С в SQL Server Management Studio (Расширение для SSMS)

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

Администрирование - Администрирование СУБД

SSMS MSSQL база данных анализ диагностика оптимизация администрирование

75
Расширение позволяет просматривать связи объектов метаданных и таблиц БД, сгруппированные данные (по группам метаданных) об используемом дисковом пространстве и выполнять трансляцию SQL текста запроса в термины 1С. И бонусом - при наведении курсора мыши на таблицу или поле показывает назначение объекта в терминах 1С.

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

Расширение создано для SSMS 18 версии, в более ранних версиях - не запустится. Тестировалось расширение на платформе 8.3.15.

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

Более детально, возможности:

Просмотр структуры конфигурации в терминах метаданных 1С и терминах SQL с возможностью группировки по группам метаданных. Т.е. если у регистра накопления есть несколько таблиц БД (основная таблица, остатки, изменения), то они выводятся в одну группу. Из структуры конфигурации по правому клику мыши возможно перейти к объекту в дереве обозревателя.

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

Всплывающие подсказки над названиями таблиц и колонок в терминах метаданных 1С.

Порядок работы:

При подключении к серверу, расширение анализирует все доступные базы данных и выделяет из них те, которые являются базами данных 1С (этот процесс происходит в фоновом режиме, прогресс операции показывается в статусбаре студии). Далее расширение считывает структуру конфигурации из каждой базы данных и формирует кеш соответствий DBMS имен и метаданных 1С. Все возможности расширения для базы данных будут доступны только тогда, когда для этой базы будет сформирован кеш. Команды для вывода структуры конфигурации и отчет доступны в контекстном меню базы данных. Всплывающие подсказки в обозревателе объектов будут заполнены после считывания структуры конфигурации из базы данных. Трансляция текста запроса доступна в контекстном меню окна для ввода текста запроса.

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

Установка:

Поместить папку "OneSToolsSsmsExtension" из архива в каталог "C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions"

Если в работе с расширением наблюдаются какие-то необъяснимые явления, очистите папку кеша расширения по пути %appdata%/OneSToolsSsmsExtension

Upd 27.11.2019: Исправил небольшую ошибку в релизе, приводящую к к новому циклу обновлению кеша баз при смене контекста сервера.

Upd 29.11.2019: Устранено некорректное поведение программы при удалении базы данных. Добавлено отображение названия и версии конфигурации в нижней части окна отображения структуры.

Upd 04.12.2019: Изменено оформление отчета об использованном дисковом пространстве (выравнивание текста в колонках и выделение групп цифр). Доработан код для возможности работы с расширением при ограниченных правах пользователя на сервере.

75

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

Наименование Файл Версия Размер
OneSToolsSsmsExtension
.zip 3,76Mb
04.12.19
23
.zip 1.1.2 3,76Mb 23 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. bulpi 158 27.11.19 17:31 Сейчас в теме
У меня версия SSMS 10.50.1600.1 . Какая именно группа цифр должна быть не ниже 18 ?
2. akpaevj 74 27.11.19 17:36 Сейчас в теме
(1) Первая группа. С 18 версии студия является отдельным приложением, не входящим в пакет MSSQL Server. Можете смело ставить бесплатную версию с сайта Microsoft и пользоваться ей. Ссылка для скачивания - https://docs.microsoft.com/ru-ru/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15
3. YPermitin 6341 27.11.19 18:31 Сейчас в теме
(0) Очень интересное решение. Надо как-нибудь потестить.
ImHunter; akpaevj; wowik; +3 Ответить
4. killermss 2 28.11.19 10:48 Сейчас в теме
Добрый день, а исходники данной публикации иметься или там только скомпилированный файл
5. akpaevj 74 28.11.19 10:50 Сейчас в теме
(4) Исходный код расширения закрыт.
6. killermss 2 28.11.19 11:07 Сейчас в теме
(5) а есть возможность получения исходника? более детально можно в личке
7. akpaevj 74 28.11.19 11:10 Сейчас в теме
(6) Пока я не готов его открыть. Это было бы неуважением по отношению к тем людям, которые покупают расширение.
8. Virikus 51 28.11.19 11:57 Сейчас в теме
(7) но и использовать расширение без понимания насколько оно безопасно никто не будет.
10. akpaevj 74 28.11.19 12:07 Сейчас в теме
(8) С точки зрения работы с данными БД - ни одного, какого-либо insert запроса в расширении нет. С точки зрения простого недоверия автору - Вы на самом деле у каждого проприетарного ПО требуете исходный код?
sm.artem; skalex; +2 Ответить
11. Virikus 51 28.11.19 12:35 Сейчас в теме
(10) а Вы лично на рабочее пространство себе ставите все без проверки безопасности?
Кредита доверия ваше расширение пока не наработало и поэтому вопрос об исходниках звучит нормально, их же никто не просит бесплатно. Не надо так негативно реагировать.

Если у вас на предприятие политика безопасности позволяет ставить любое ПО без согласования, это не значит что у всех такое состояние дел.
12. akpaevj 74 28.11.19 12:48 Сейчас в теме
(11) К сожалению интонацию не передать, я в очень дружелюбной манере общаюсь. И Вас прекрасно понимаю, но это не повод для открытия исходников. Я работал над ними 2 месяца не просто так, что-бы продать за 3 копейки. Единственное, что могу Вам предложить - поставьте сниффер и проверьте исходящий трафик от приложения, от там отсутствует вовсе.
15. akpaevj 74 28.11.19 13:21 Сейчас в теме
(11) В моей компании все тестируется на серверах разработки и только потом попадает в рабочую среду.
9. killermss 2 28.11.19 12:05 Сейчас в теме
(7) а можешь в публикацию кинуть и исходники? и поставь скажем 15sm
13. akpaevj 74 28.11.19 12:52 Сейчас в теме
(9) Ответ на вопрос дал выше, уважаемому Virikus. Какая часть исходников Вас конкретно интересует? Приложение состоит из нескольких составляющих, основные из которых - модуль парсинга внутренних структур 1С и собственно само расширение, добавляющее пункты меню и осуществляющее взаимодействие с GUI студии.
14. akpaevj 74 28.11.19 12:55 Сейчас в теме
(9) По поводу модуля парсинга - его не выложу. Пакет расширения для SSMS сам по себе очень интересен, так как информация о его написании практически отсутствует в интернете, на этот счет могу написать отдельную статью.
SirStefan; +1 Ответить
16. Virikus 51 28.11.19 14:18 Сейчас в теме
(14) Статья была бы очень интересна по пакету расширения, модуль парсинга легко воспроизвести, там все достаточно просто.
17. akpaevj 74 28.11.19 14:22 Сейчас в теме
(16) Это уже конструктивный разговор, я подготовлю статью и дам развернутый ответ на Ваши вопросы.
18. w.r. 480 28.11.19 19:15 Сейчас в теме
19. akpaevj 74 28.11.19 19:32 Сейчас в теме
(18) Создание пакета аналогично обычному созданию VSPackage (для 18 версии ssms). Разговор шёл не об этом, а о работе с объектами SSMS изнутри пакета.
20. w.r. 480 28.11.19 19:52 Сейчас в теме
(19)

Автор статьи в конце даёт ссылки на исходные коды проектов. Если поразбираться, то там можно все найти
21. dmitrydemenew 413 28.11.19 20:34 Сейчас в теме
(20)на просторах интернета можно найти тучи рекомендаций, описаний, инструкций и т. п., но далеко не у всех есть время и терпение придумать, спроектировать и собрать что-то необычное и полезное. Автору - плюс.
22. akpaevj 74 28.11.19 20:56 Сейчас в теме
(20) Именно поэтому я и написал что практически отсутствует. Эти несколько проектов и есть те крупицы информации что удалось найти на просторах. Я не считаю пару-тройку проектов, написанных методом тыка, нормальной документацией. Большая часть времени разработки - это тыканье носом и дебаг
23. akpaevj 74 28.11.19 21:09 Сейчас в теме
(20) Отсутствие нормальных, официальных гайдов серьёзно усложняет и тормозит процесс, приходится многое реверсить.
24. ByNiko1984 29.11.19 07:30 Сейчас в теме
(0) А есть какая-нибудь бесплатная демоверсия с ограниченным функционалом? Просто попробовать?
25. akpaevj 74 29.11.19 07:40 Сейчас в теме
(24) Не предусмотрено
ByNiko1984; +1 Ответить
26. ByNiko1984 29.11.19 07:44 Сейчас в теме
(25) понимаю.

Тогда буду копить золото :)))
27. akpaevj 74 29.11.19 08:08 Сейчас в теме
(26) И древесину) А некоторые и кодами пытаются воспользоваться)
28. ByNiko1984 29.11.19 08:10 Сейчас в теме
(27) недостаточно материалов для строительства :))))
29. user830227 29.11.19 18:37 Сейчас в теме
Подскажите где кэш расширения чистить, пожалуйста. Удалили базу и теперь обновление кэша на ней зависает.
30. user830227 29.11.19 19:31 Сейчас в теме
(29) Нашел, спасибо. %AppData%\Roaming\OneSToolsSsmsExtension\
31. akpaevj 74 29.11.19 20:15 Сейчас в теме
(30) Все правильно, там. Спасибо за кейс, исправлю неправильное поведение и залью новую версию. Не учел такое развитие событий)
32. user830227 02.12.19 08:29 Сейчас в теме
А добавленные в расширении объекты никак не распознать? Сейчас эти таблицы отображаются как "СистемнаяТаблица".
33. akpaevj 74 02.12.19 08:45 Сейчас в теме
(32) На базах с расширением не проверял работу, исправлю некорректное поведение и обновлю статью.
user830227; +1 Ответить
34. user830227 04.12.19 09:14 Сейчас в теме
Есть пожелание. В "Использовании дисковой памяти таблицами (1С)" сделайте, пожалуйста, выравнивание цифр по правому краю и с разделителями разрядов.
35. akpaevj 74 04.12.19 09:15 Сейчас в теме
(34) Сделаю, не проблема
user830227; +1 Ответить
36. user830227 05.12.19 16:21 Сейчас в теме
Все сломалось.
Обнаружил, что в последней версии файлов меньше, чем у меня в C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions\OneSToolsSsmsExtension. Все удалил, чтобы не искать несоответствия. Скопировал заново все файлы из архива и теперь мне SSMS выдает ошибку. Прикрепил к сообщению.
Кеш чистил.
Прикрепленные файлы:
37. user830227 05.12.19 17:43 Сейчас в теме
(36) Вернул предыдущую версию и обновил только изменившиеся файлы. Заработало.
38. akpaevj 74 05.12.19 19:13 Сейчас в теме
(37) Шальная какая-то ошибка, надо логи смотреть, подобного не замечал.
Оставьте свое сообщение

См. также

Очистка кэша нескольких баз прямо из 1С 6

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Администрирование СУБД

Обработка предназначена для очистка кэша нескольких баз непосредственно из 1С (только в обычном режиме).

1 стартмани

04.12.2019    900    4    r.moschenskiy    2       

Cashback 35% при покупке 1С лицензий на счет INFOSTART.RU с 27.11 по 04.12 Промо

Оформляете заказ на 1С лицензии или конфигурации. Получаете 35% от стоимости на счет в профиле INFOSTART.RU. Выбираете сервисы и продукты на сумму кэшбэка.

Запуск внешних обработок по списку пользователей 0

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 БП3.0 Абонемент ($m) Роли и права

Создает командный файл для запуска пользователей по списку.

1 стартмани

07.11.2019    884    Mari_Kuznetzova    0       

CF & SQL : конструктор прямых запросов к БД 1С 149

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Россия MS SQL Абонемент ($m) Инструментарий разработчика Администрирование СУБД

Программа для чтения и анализа внутренней структуры данных 1С V8.х, Содержит конструктор прямых SQL запросов, позволяет обрабатывать и редактировать тексты SQL-запросов, выполнять прямые запросы к базе данных 1С и обрабатывать полученные результаты.

1 стартмани

02.10.2019    6424    110    dmitrydemenew    30       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Закрытие незавершенных сеансов 39

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Сервисные утилиты Администрирование СУБД

Как удалять потерянные сеансы пользователей, чтобы они не мешали работе. Обработка протестирована на платформе версии 8.3.13.1644.

1 стартмани

20.09.2019    4361    18    AnatolPopov    6       

Централизованное управление списком доступных баз 1С у пользователей 8

Инструменты и обработки Системный администратор Архив с данными v8 1cv8.cf Россия Windows Абонемент ($m) Стартеры 1С Сервисные утилиты Администрирование СУБД

Когда в локальной сети много пользователей, а еще большое количество различных баз и при этом каждому нужны свои, то администрирование этого зоопарка превращается в АД! Этот комплекс позволяет централизованно управлять списком доступных баз в разрезе пользователей. За пару кликов можно добавить или убрать базу у всех пользователей.

5 стартмани

05.12.2018    6847    8    RomikR    9