Как посмотреть размер базы 1с
Перейти к содержимому

Как посмотреть размер базы 1с

  • автор:

Как посмотреть размер базы 1с

Отличаются ли размеры баз в 1С v.8 в файловом и клиент-серверном вариантах? Или как узнать размер базы на сервере?

для скуля — файл MDF
и вобще — какая разница.
(1) + у SQL
«MDF = РазмерБазы + СвободноеМесто» на всякий случай

Хорошее название темы. Главное содержательное.

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

По сабжу посмотреть размер файлов БД. Где лежат — в SQL Studio Manager можно посмотреть, если забыли.

Как узнать размеры таблиц для баз данных 1C-SQL

Как известно, для базы данных в формате DBF легко можно посмотреть размер данных и размер индексов для каждой таблицы. Для баз данных в формате SQL такой легкой возможности нет. На самом деле, конечно же, такая возможность есть, просто до нее тяжелей добраться. SQL -сервер хранит сведения обо всех параметрах таблиц в своих системных таблицах, поэтому, чтобы получить информацию о таблицах приходится либо воспользоваться хранимой процедурой sp_spaceused , которая предоставляет всю необходимую информацию, либо писать свой код. Недостаток этой процедуры в том, что она выдает характеристику только одной таблицы за один раз. Таким образом, средства, сравнимого по легкости с просмотром каталога базы данных формата DBF , для SQL -варианта базы нет.

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

Кроме всего прочего, данная обработка решает еще одну проблему. Иногда записи в системных таблицах о текущих объемах таблиц не соответствуют действительности. Обработка позволяет ее подправить.

Для работы необходимо наличие библиотеки rainbow.dll в папке ИБ, которую можно взять здесь. За основу был взят текст хранимой процедуры sp_spaceused , который был подправлен так, чтобы быть полностью совместимым с Rainbow .

Текст обработки представлен ниже:

Перем СЗ ;
//________________________________________________________
Процедура ПодготовитьСЗ ()
глМета =СоздатьОбъект( «MetaDataWork» );
СЗ =СоздатьОбъект( «СписокЗначений» );
СЗ . Установить ( «_1SACCS» , «План счетов» );
СЗ . Установить ( «_1SACCSEL» , «Отбор проводок по счетам» );
СЗ . Установить ( «_1SBKTTL» , «Остатки (сальдо и обороты по субконто)» );
СЗ . Установить ( «_1SBKTTLC» , «Итоги (сальдо и обороты по синтетическим счетам)» );
СЗ . Установить ( «_1SCONST» , «Периодические константы» );
СЗ . Установить ( «_1SCORENT» , «Корректные проводки» );
СЗ . Установить ( «_1SCRDOC» , «Графы отбора и ссылки документов» );
СЗ . Установить ( «_1SDBSET» , «Базы данных (УРБД)» );
СЗ . Установить ( «_1SDNLOCK» , «Блокировка номеров документов» );
СЗ . Установить ( «_1SDWNLDS» , «Пакеты обмена данными (УРБД)» );
СЗ . Установить ( «_1SENTRY» , «Проводки» );
СЗ . Установить ( «_1SJOURN» , «Журналы документов» );
СЗ . Установить ( «_1SOPER» , «Операции» );
СЗ . Установить ( «_1SSBSEL» , «Отбор проводок по субконто» );
СЗ . Установить ( «_1SSTREAM» , «Последовательности» );
СЗ . Установить ( «_1SSYSTEM» , «Системная» );
СЗ . Установить ( «_1STOPER» , «Типовые операции» );
СЗ . Установить ( «_1SUIDCTL» , «Уникальности» );
СЗ . Установить ( «_1SUPDTS» , «Обновления объектов (УРБД)» );
СЗ . Установить ( «_1SUSERS» , «Счетчики соединений» );
СЗ . Установить ( «_1SCONNECT» , «Соединение» );
СЗ . Установить ( «CJPROP» , «Параметры ЖР» );
СЗ . Установить ( «CL» , «Календари» );
//Справочники
Для к = 1 по Метаданные. Справочник () Цикл
ТекИд =Метаданные. Справочник ( к ). Идентификатор ;
ТекИмяТаблицы = глМета . ИмяТаблицыСправочника ( ТекИд );
ТекНазваниеТаблицы = «Справочник.» + ТекИд ;
СЗ . Установить ( ТекИмяТаблицы , ТекНазваниеТаблицы );
КонецЦикла;
//Документы
Для к = 1 по Метаданные. Документ () Цикл
ТекИд =Метаданные. Документ ( к ). Идентификатор ;
ТекИмяТаблицы = глМета . ИмяТаблицыШапки ( ТекИд );
ТекНазваниеТаблицы = «Документ.» + ТекИд + » (шапка)» ;
СЗ . Установить ( ТекИмяТаблицы , ТекНазваниеТаблицы );
Если Метаданные. Документ ( к ). РеквизитТабличнойЧасти ()> 0 Тогда
ТекИмяТаблицы = глМета . ИмяТаблицыТабличнойЧасти ( ТекИд );
ТекНазваниеТаблицы = «Документ.» + ТекИд + » (таблица)» ;
СЗ . Установить ( ТекИмяТаблицы , ТекНазваниеТаблицы );
КонецЕсли;
КонецЦикла;
//Регистры
Для к = 1 по Метаданные. Регистр () Цикл
ТекИд =Метаданные. Регистр ( к ). Идентификатор ;
ТекИмяТаблицы = глМета . ИмяТаблицыИтогов ( ТекИд );
ТекНазваниеТаблицы = «Регистр.» + ТекИд + » (итоги)» ;
СЗ . Установить ( ТекИмяТаблицы , ТекНазваниеТаблицы );
ТекИмяТаблицы = глМета . ИмяТаблицыДвижений ( ТекИд );
ТекНазваниеТаблицы = «Регистр.» + ТекИд + » (движения)» ;
СЗ . Установить ( ТекИмяТаблицы , ТекНазваниеТаблицы );
КонецЦикла;
//Журналы расчета
Для к = 1 по Метаданные. ЖурналРасчетов () Цикл
ТекИд =Метаданные. ЖурналРасчетов ( к ). Идентификатор ;
ТекИмяТаблицы = глМета . ИмяТаблицыЖР ( ТекИд );
ТекНазваниеТаблицы = «Журнал расчетов.» + ТекИд ;
СЗ . Установить ( ТекИмяТаблицы , ТекНазваниеТаблицы );
КонецЦикла;
КонецПроцедуры
//________________________________________________________
Процедура Сформировать ()
ПодготовитьСЗ ();
ТЗ =СоздатьОбъект( «ТаблицаЗначений» );
ТЗ . НоваяКолонка ( «Имя» , «Строка» );
ТЗ . НоваяКолонка ( «Название» , «Строка» );
ТЗ . НоваяКолонка ( «Количество» , «Число» );
ТЗ . НоваяКолонка ( «Всего» , «Число» );
ТЗ . НоваяКолонка ( «Данные» , «Число» );
ТЗ . НоваяКолонка ( «Индексы» , «Число» );
ТЗ . НоваяКолонка ( «Свободно» , «Число» );
СписокТаблиц =СоздатьОбъект( «СписокЗначений» );
//________________________________________________________
ЗапросРадуги =СоздатьОбъект( «ODBCQuery» );
Если ЗапросРадуги . Prepare ( «Select RTRIM(CONVERT(char(30),TABLE_NAME)) from INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE=’BASE TABLE’ AND TABLE_NAME<>‘dtproperties'» , 0 , 0 )= 1 Тогда
Если ЗапросРадуги . Open ()= 1 Тогда
ЗапросРадуги . GotoNext ();
Пока ЗапросРадуги . IsOK ()= 1 Цикл
СписокТаблиц . ДобавитьЗначение ( ЗапросРадуги . GetString ( 0 ));
ЗапросРадуги . GotoNext ();
КонецЦикла;
ЗапросРадуги . Close ();
Иначе
Предупреждение( «Ошибка открытия запроса!» , 10 );
КонецЕсли;
ЗапросРадуги . Reset ();
Иначе
Предупреждение( «Ошибка выполнения запроса!» , 10 );
КонецЕсли;
//Теперь анализируем
Для к = 1 по СписокТаблиц . РазмерСписка () Цикл
ТекстЗапроса = «DECLARE @id int
|DECLARE @pages int
|DECLARE @rows int
|DECLARE @reserved dec(15)
|DECLARE @data dec(15)
|DECLARE @indexp dec(15)
|DECLARE @unused dec(15)
|SELECT @id = id FROM sysobjects WHERE >+ СписокТаблиц . ПолучитьЗначение ( к )+ «‘)
|SELECT @reserved=SUM(reserved) FROM sysindexes WHERE indid in (0, 1, 255) and >
|SELECT @pages = SUM(dpages) FROM sysindexes WHERE indid
|SELECT @pages = @pages + isnull(SUM(used), 0) FROM sysindexes WHERE indid = 255 and >
|SET @data = @pages
|SET @indexp = (select SUM(used) FROM sysindexes WHERE indid in (0, 1, 255) and — @data
|SET @unused = @reserved — (SELECT SUM(used) FROM sysindexes WHERE indid in (0, 1, 255) and >
|SELECT @rows=rows FROM sysindexes WHERE indid
|SELECT name = RTRIM(CONVERT(char(30),object_name(@id))), rows = RTRIM(CONVERT(char(11), @rows)),
|reserved = LTRIM(str(@reserved * d.low / 1024.,15,0)),data = LTRIM(str(@data * d.low / 1024.,15,0)),
|index_size = LTRIM(str(@indexp * d.low / 1024.,15,0)),unused = LTRIM(str(@unused * d.low / 1024.,15,0))
|FROM master.dbo.spt_values d WHERE d.number = 1 and d.type = ‘E'» ;
Если ЗапросРадуги . Prepare ( ТекстЗапроса , 0 , 0 )= 1 Тогда
Если ЗапросРадуги . Open ()= 1 Тогда
ЗапросРадуги . GotoNext ();
Пока ЗапросРадуги . IsOK ()= 1 Цикл
ТЗ . НоваяСтрока ();
ТЗ . Имя = ЗапросРадуги . GetString ( 0 );
ТЗ . Название = СЗ . Получить ( ТЗ . Имя );
ТЗ . Количество =Число( ЗапросРадуги . GetString ( 1 ));
ТЗ . Всего =Число( ЗапросРадуги . GetString ( 2 ));
ТЗ . Данные =Число( ЗапросРадуги . GetString ( 3 ));
ТЗ . Индексы =Число( ЗапросРадуги . GetString ( 4 ));
ТЗ . Свободно =Число( ЗапросРадуги . GetString ( 5 ));
ЗапросРадуги . GotoNext ();
КонецЦикла;
ЗапросРадуги . Close ();
Иначе
Предупреждение( «Ошибка открытия запроса!» , 10 );
Прервать;
КонецЕсли;
ЗапросРадуги . Reset ();
Иначе
Предупреждение( «Ошибка выполнения запроса!» , 10 );
Прервать;
КонецЕсли;
КонецЦикла;
ЗапросРадуги = «» ;
//________________________________________________________
Таб =СоздатьОбъект( «Таблица» );
Таб . ИсходнаяТаблица ( «Таблица» );
Таб . ВывестиСекцию ( «Заголовок» );
ТЗ . ВыбратьСтроки ();
Пока ТЗ . ПолучитьСтроку ()= 1 Цикл
Таб . ВывестиСекцию ( «Строка» );
КонецЦикла;
Таб . ВывестиСекцию ( «Итоги» );
Таб . Опции ( 0 , 0 , 0 , 0 );
Таб . ТолькоПросмотр ( 1 );
Таб . Показать ();
КонецПроцедуры
//________________________________________________________
Процедура Обновить ()
ЗапросРадуги =СоздатьОбъект( «ODBCQuery» );
ТекстЗапроса = «DBCC UPDATEUSAGE (0) WITH NO_INFOMSGS» ;
Если ЗапросРадуги . Prepare ( ТекстЗапроса , 0 , 0 )= 1 Тогда
Если ЗапросРадуги . Open ()= 1 Тогда
Иначе
Предупреждение( «Ошибка открытия запроса!» , 10 );
КонецЕсли;
ЗапросРадуги . Reset ();
Иначе
Предупреждение( «Ошибка выполнения запроса!» , 10 );
КонецЕсли;
ЗапросРадуги = «» ;
КонецПроцедуры
//________________________________________________________
Процедура ПриОткрытии ()
ЗагрузитьВнешнююКомпоненту( «rainbow.dll» );
КонецПроцедуры

Эту обработку можно загрузить в разделе «Скачать».

12.08.2021 Размер ваших приложений в сервисе 1cfresh.com

Вы теперь можете посмотреть размер ваших приложений (баз) в сервисе 1cfresh.com.

Размер приложения — это оценка суммарного объема данных, хранимых для приложения в сервисе 1cfresh.com.

Как посмотреть размер приложения в сервисе

  1. Войти в свой личный кабинет в сервисе.
  2. Вывести карточку свойств приложения (например, щелкнув двойным щелчком мыши по строке приложения в списке Мои приложения).
  3. Размер приложения будет показан в карточке свойств приложения в поле Размер.

Если приложение еще не обновлено до версии, поддерживающей расчет размера, то в поле Размер будет выведено Функциональность не поддерживается. Если оно обновлено, но расчет размера еще не выполнен, то в поле Размер будет выведено Расчет не выполнялся.

Отчет о размере приложений абонента

Пользователи сервиса с правами владельца или администратора абонента могут вывести отчет о размерах всех приложений абонента. Для этого им нужно:

  1. Войти в свой личный кабинет в сервисе.
  2. Нажать кнопку Отчеты (или Еще — Отчеты).
  3. Выбрать команду Размер приложений.
  4. Нажать в форме отчета кнопку Сформировать .

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

Отчет о размере объектов приложения по видам метаданных

Щелкнув в карточке свойств приложения мышью кнопку справа от поля Размер, вы можете перейти в приложение и посмотреть там отчет о размере объектов приложения по видам метаданных (отчет История размера приложения).

Чтобы сформировать отчет, надо:

  1. Выбрать период отчета (по умолчанию выводятся данные о размере объектов приложения на конец указанного периода).
  2. Нажать кнопку Сформировать .

Также вы можете запросить расчет размера объектов приложения на текущий момент. Для этого надо нажать гиперссылку Рассчитать размер приложения. Расчет может потребовать длительного времени.

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

Отчет о размере объектов приложения можно вывести также и при работе в приложении.

  • Вызвать форму Перенос данных приложения:
    • в приложении Управление нашей фирмой: команда НастройкиРабота в облакеПеренос данных приложения
    • в большинстве других приложений: команда АдминистрированиеПеренос данных приложения

    И нажать в выведенной форме Перенос данных приложения гиперссылку Информация о размере приложения.

    Как посмотреть размер локальной версии приложения

    Вы можете посмотреть размер локальной версии приложения, данные которого хотите перенести в сервис.

    Для этого нужно:

    1. Войти в локальную версии приложения (информационную базу 1С) от имени пользователя, имеющего в приложении административные права.
    2. Вызвать форму Переход в облачный сервис:
      • в приложении Управление нашей фирмой: команда НастройкиРабота в облакеПерейти в облачный сервис
      • в большинстве других приложений: команда АдминистрированиеПерейти в облачный сервис

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

    Или можно перейти по навигационной ссылке e1cib/app/Отчет.ИсторияРазмераПриложения.

    Следует иметь в виду, что вычисленный размер локальной версии приложения может несколько отличаться от размера приложения, которое будет создано в сервисе 1cfresh.com при переносе туда данных локальной версии приложения. Это связано с тем, что результат вычисления размера приложения зависит от используемой версии СУБД.

    Для чего может быть полезно знать размер приложения

    От размера приложения зависят:

    1. Размер резервных копий приложения и продолжительность их создания.
    2. Продолжительность выгрузки резервных копий приложения на ваш компьютер.
    3. Продолжительность выгрузки резервных копий приложения в облачные файловые хранилища и место, которое резервные копии будут занимать в облачном хранилище.

    При большом размере приложений Комплексная автоматизация и 1C:ERP может потребоваться приобретение подписки на тариф, позволяющий использовать дополнительный объем для баз приложения:

    • для приложения Комплексная автоматизация — подписка на тариф КОРП дополнительный объем (подробнее см. по ссылке);
    • для приложения 1C:ERP — подписка на тариф ERP дополнительный объем (подробнее см. по ссылке);

    Размер базы 1С Бухгалтерия 3.0 на SQL сервере.

    80488

    Не устроил ответ?
    Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.

    Реклама

    Новые вакансии

    • Вакансия: Разработчик 1С, Москва, удалёнка/гибрид, 200-300 net от yskinkurogova
      Вчера в 13:25
    • Вакансия аналитика 1с УТ от 200K, гибрид от Татьяна Астахова
      25 января 2024 г.
    • Вакансия Программист 1С (Москва, гибрид) 250-300т.р. от paulaja03@gmail.com
      23 января 2024 г.

Добавить комментарий

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