Размер таблиц в SQL базе для 1С:8.3 (УФ)

Обработка для определения размера таблиц в SQL базе.

Обработка была переделана для 1С:83 из публикации. 

Принцип работы аналогичен с публикаций 8.2.

Показывает размер всех таблиц информационной базы в виде таблички 
-SQL имя таблицы
-1C имя таблицы
-Назначение
-Строк
-Зарезервировано, mb
-Данные, mb
-Индексы, mb
-Неиспользуется, mb

По умолчанию отсортирована в порядке увеличения размера таблиц, возможна сортировка по наименованиям.

 

Как это работает:

1.Открываем обработку.

2.Указываем Имя сервера, базы, пользователя и пароль.

Имя сервера в 1с состоит из 2х значений:

   2.1. Имя сервера

   2.2. Имя Сервере SQL (Если не знаетете, можно запустить SQL Server Management Studio и в диалоговом окне будет указано по умолчанию)

3.Сформировать

 

27 Comments

  1. нормальный такой

    какова актуальность?

    атата

    http://infostart.ru/public/179281/

    http://www.gilev.ru/sqlsize/

    Reply ↓
  2. DERL

    а почему не реализована возможность подключаться к SQL серверу посредством Windows авторизации???

    Reply ↓
  3. maksa2005

    (2) DERL, Я не создавал с нуля обработку, мну нужно было ей воспользоваться на платформе 8.3

    Reply ↓
  4. V.Nikonov

    Только разумнее сортировать по убыванию размера! Чаще волнуют большие таблицы!

    Ещё лучше управлять сортировкой динамически…

    Reply ↓
  5. maksa2005

    (4) V.Nikonov, учту

    Reply ↓
  6. Chelyapin

    Можете прислать мне обработку для управляемых форм, пожалуйста? Почта krasevE@yandex.ru

    Reply ↓
  7. maksa2005

    (6)

    лови

    Reply ↓
  8. Salexey

    тут немного поудобнее есть https://infostart.ru/public/1093355/

    Reply ↓
  9. maksa2005

    (8)согласен. вот только одно но! он выложил это в 2019 года, а я 2015. есть что-то добавить? и кто у кого скопировал)

    Reply ↓
  10. Salexey

    (9)мне не важно скопировали код или нет, совершенствуйте обработки я у вас скачивать буду

    Reply ↓
  11. Xershi

    (9) можете написать ИС и за копипаст просто удалят публикацию.

    Reply ↓
  12. Xershi

    (8) а комментарии я так понял закрыли, чтобы не писали ссылки на публикации 2000 годов? А вопрос с расширениями я так понимаю тоже не делали?

    Reply ↓
  13. maksa2005

    (10)

    нет смысла.

    Reply ↓
  14. maksa2005

    (11)мне это не важно

    Reply ↓
  15. maksa2005

    (12)пусть пишут если Им надо. я написал и выложил. Кому что удобнее — тот пусть и качает

    Reply ↓
  16. user703966_martynyuknatalia

    Функция ВернутиРезультатПостроителя(пИсточникДанных,пЗначение,пОтбор,пВидСравнения)

    Построитель = Новый ПостроительЗапроса;

    Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(пИсточникДанных);

    тОтбор = Построитель.Отбор.Добавить(пОтбор);

    тОтбор.ВидСравнения = пВидСравнения;

    тОтбор.Значение = пЗначение;

    тОтбор.Использование = Истина;

    Построитель.Выполнить();

    Результат=Новый ТаблицаЗначений;

    Результат = Построитель.Результат.Выгрузить();

    Возврат Результат;

    КонецФункции

    Процедура ПоказатиТаблицю(пТаб)

    П=Новый ПостроительОтчета;

    П.ИсточникДанных=Новый ОписаниеИсточникаДанных(пТаб);

    П.ЗаполнитьНастройки();

    ТабДок=новый ТабличныйДокумент;

    П.Вывести(ТабДок);

    ТабДок.Показать();

    КонецПроцедуры

    Процедура ОсновныеДействияФормыСтруктура(Кнопка)

    тч.Очистить();

    ИмяСервераSQL = «192.0.0.0»;

    ПользовательSQL = «admins»;

    ПарольSQL = «qwer123»;

    Строка=СтрокаСоединенияИнформационнойБазы();

    п=Найти(Строка,»Ref=»);

    Строка=Сред(Строка,п+5,СтрДлина(Строка)-п-6);

    //Сообщить(Строка);

    БазаДанныхSQL = Строка;

    Соединение = Новый COMОбъект(«ADODB.Connection»);

    Команда = Новый COMОбъект(«ADODB.Command»);

    Соединение.ConnectionString =

    «driver={SQL Server};» +

    «server=»+ИмяСервераSQL+»;»+

    «uid=»+ПользовательSQL+»;»+

    «pwd=»+ПарольSQL+»;»+

    «database=»+БазаДанныхSQL+»;»;

    Соединение.ConnectionTimeout = 30;

    Соединение.CommandTimeout = 600;

    //Открытие соединение

    Соединение.Open();

    Команда.ActiveConnection = Соединение;

    ПідключилисьДоSQL=Истина;

    Команда = ПолучитьМакет(«Макет»).ПолучитьТекст();

    //Сообщить(Команда);

    Рез=Соединение.Execute(Команда,,);

    Пока НЕ Рез.EOF() Цикл

    стр=тч.Добавить();

    стр.Таблиця= Рез.Fields(«TableName»).Value();

    стр.Розмір = Рез.Fields(«Total_MB»).Value();

    Рез.MoveNext();

    КонецЦикла;

    тч2.Очистить();

    ТаблицаБД = ПолучитьСтруктуруХраненияБазыДанных(, Истина);

    тч2.Загрузить(ТаблицаБД);

    ксть=тч2.Количество()-1;

    к=ксть;

    Пока к>=0 Цикл

    стр=тч2[к];

    нс=тч.Найти(стр.ИмяТаблицыХранения);

    стр.Розмір=?(нс=Неопределено,0,нс.Розмір);

    Если стр.Розмір=0 Тогда

    тч2.Удалить(стр);

    КонецЕсли;

    Состояние(«————————————————————«+ксть+» «+к);

    к=к-1;

    КонецЦикла;

    тч2.Сортировать(«Розмір Убыв»);

    КонецПроцедуры

    Reply ↓
  17. maksa2005

    (16)?

    Reply ↓
  18. user703966_martynyuknatalia

    1

    Reply ↓
  19. user703966_martynyuknatalia

    Это код обратотки

    Reply ↓
  20. XelOla

    {ВнешнийОтчет.РазмерТаблицВSQLБазе.Форма.ФормаОтчета83.Форма(15)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): [DBNETLIB][ConnectionOpen (Connect()).]SQL Server не существует, или доступ запрещен.

    ??? верните мани

    Reply ↓
  21. maksa2005

    (20)В смысле? у всех работает у Вас только не работает

    Reply ↓
  22. XelOla

    (21) почему тогда не работает?!

    Reply ↓
  23. maksa2005

    (22)написал же он Вам:

    Server не существует, или доступ запрещен.

    Reply ↓
  24. XelOla

    (23) не правильно.

    сервер существует. через sqlexpress я авторизируюсь sa

    Reply ↓
  25. XelOla

    (23) мани верните

    Reply ↓
  26. maksa2005

    (25)на почту отправить или голубем?😎😁🤣🤣🤣

    Reply ↓
  27. XelOla

    (26) у меня качните чтонибудь.

    мне вернется.

    но ваша обработка у меня не работает.

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *