Обрезать базу 1с ут 11
Через некоторое время после начала работы база 1С начинает активно увеличиваться в размерах и, в некоторых случаях, начинает занимать все доступное место на диске. Когда свободное место на диске заканчивается, в работе базы 1С начинают возникать самые разные ошибки, вплоть до невозможности войти в базу.
Проблема размера базы эффективно решается сверткой базы 1С. При этом все старые документы в базе 1С удаляются, а вместо них создаются документы «Ввод начальных остатков».
Этот способ безусловно эффективный, но достаточно трудоемкий и затратный по времени. Плюс в процессе свертки могут возникать различные ошибки и проблемы, которые без помощи специалистов по 1С решить будет сложно.
Существует несколько простых способов, которые помогут поддерживать базу 1С в разумных размерах, не прибегая к свертке базы:
- Настройка автоматического удаление помеченных на удаление объектов.
- Настройка и сокращение журнала регистрации базы 1С.
- Сжатие базы 1С в случаях, когда база 1С файловая.
Рассмотрим указанные способы подробнее:
1. Настройка автоматического удаления помеченных на удаление объектов
Со временем в базе 1С накапливаются помеченные на удаление объекты. Эти объекты физически занимают некоторую объема базы 1С.
Помеченные на удаление объекты можно периодически удалять вручную, но можно настроить так, чтобы этот процесс выполнялся автоматически.
Рассмотрим настройку автоматического удаления помеченных на удаление объектов на примере конфигурации 1С: Управление Торговлей:
1. Перейдите на закладку «НСИ и Администрирование» и выберите «Обслуживание»:
2. Откроется окно «Обслуживание». В окне выберите «Удаление помеченных объектов»:
3. Откроется окно «Удаление помеченных объектов». В окне установите флажок «Автоматически удалять помеченные объекты по расписанию»
4. Откроется окно «Расписание». В окне на закладке «Общие», укажите как часто нужно запускать удаление помеченных объектов. Каждый день или, например, каждые 7 дней (1 раз в неделю):
5. Затем в окне «Расписание» перейдите на закладку «Дневное» и укажите желаемое время, когда должно запускаться удаление помеченных объектов. Например, начало с 4:00 до 4:15, завершать после 6:00:
ВАЖНО! Если база 1С файловая, то автоматическое удаление помеченных объектов сможет запускаться только, когда база открыта у одного из пользователей. В этом случае расписание нужно устанавливать так, чтобы автоматическое удаление запускалось в рабочее время, например, в начале или в конце рабочего дня.
6. Когда расписание настроено. В окне «Расписание» нажмите «Ок», затем закройте окно «Удаление помеченных объектов»:
7. Готово. Автоматическое удаление помеченных на удаление объектов в базе 1С настроено.
2. Настройка и сокращение журнала регистрации базы 1С
В журнале регистрации базы 1С хранится информация о действиях, которые совершаются в базе 1С. В журнал записывается какие пользователи входили в 1С, какие объекты меняли и т.д.
Т.к. журнал ведется с самого начала работы базы 1С, то со временем, размер журнала по объему может превысить размер самой базы 1С. Поэтому рекомендуется периодически сокращать журнал регистрации, удаляя из него старые записи, которые уже точно не пригодятся.
В некоторых случаях, когда в базе 1С работает много пользователей, журнал регистрации может расти в размерах очень быстро. Чтобы этого избежать, можно настроить уровень детализации журнала регистрации, чтобы в него записывалось меньше событий и рост журнала замедлился.
Для того, чтобы настроить и сократить журнал регистрации 1С нужно выполнить следующие действия:
1. Запустите Вашу базу 1С в режиме «Конфигуратор»:
2. В конфигураторе перейдите на закладку «Администрирование» и выберите «Настройка журнала регистрации»
3. Откроется окно «Настройка журнала регистрации». В окне в поле «Регистрировать в журнале события» настраивается уровень детализации журнала:
Обычно в поле установлен флажок «Регистрировать ошибки, предупреждения, информацию, примечания», что означает максимальный уровень детализации журнала:
Если в Вашей базе 1С журнал регистрации увеличивается в размерах очень быстро, то можно уменьшить уровень детализации журнала установив флажок «Регистрировать ошибки, предупреждения, информацию» или «Регистрировать ошибки, предупреждения»:
Устанавливать флажок «Не регистрировать» или «Регистрировать ошибки» НЕ рекомендуется, т.к. в этом случае, при возникновении проблем с базой 1С, специалистам будет сложнее разобраться в причинах ошибки.
4. В окне «Настройка журнала регистрации» нажмите кнопку «Сократить»:
5. Откроется окно «Сократить журнал регистрации». В окне в поле «Удалить события до» укажите дату, до которой нужно удались старые записи журнала. Обычно указывают начало этого или прошлого месяца. Затем нажмите кнопку «ОК»:
6. Откроется окно с вопросом. В окне нажмите кнопку «Да»:
7. Начнется удаление старых записей журнала регистрации. Удаление может занять некоторое время. Когда удаление записей завершится, окна «Сократить журнал регистрации» закроется автоматически. Закройте окно «Настройка журнала регистрации»:
8. Готово. Журнал регистрации базы 1С настроен и сокращен.
3. Сжатие файловой базы 1С
База 1С может храниться на жестком диске компьютера в обычном виде и в сжатом виде. В сжатом виде база 1С занимает значительно меньше места. Сжатая база может занимать более чем в 2 раза меньше места.
Если база 1С серверная, то за сжатие базы 1С отвечает сервер (sql или другой). При правильной настройке сервера база 1С всегда находится в сжатом виде и дополнительных действия со стороны пользователя не требуется.
Если же база 1С файловая, то рекомендуется периодически вручную проводить сжатие базы. Так база 1С будет занимать меньше места и будет работать быстрее, за счет оптимизированного размещения всех компонентов базы.
ВАЖНО! Описанный способ сжатия базы 1С подходит только для случаев, когда база 1С файловая. Если база 1С серверная, то, чтобы настроить сжатие базы, нужно обратиться к системному администратору.
Для того, чтобы сжать файловую базу 1С, нужно выполнить следующие действия:
1. Закройте базу 1С на всех компьютерах, если она где-то открыта.
2. Запустите Вашу базу 1С в режиме «Конфигуратор»:
3. В конфигураторе перейдите на закладку «Администрирование» и нажмите кнопку «Тестирование и исправление»:
4. Откроется окно с вопросом. В окне нажмите кнопку «Продолжить»:
5. Откроется окно «Тестирование и исправление информационной базы». В окне в списке «Таблицы и режимы» установите только один флажок «Сжатие таблиц информационной базы» и нажмите кнопку «Выполнить»:
ВАЖНО! Следует убедиться, что установлен только флажок «Сжатие таблиц информационной базы». Все остальные флажки в списке «Таблицы и режимы» должны быть сняты. Неправильная их установка может привести к проблемам с базой 1С.
Если база 1С большая, то сжатие таблиц может выполняться довольно долго. При необходимости, Вы в окне можете установить флажок «Прервать выполнение проверки через» и указать, когда следует прекратить сжатие таблиц:
Если до установленного времени сжатие базы не успеет выполниться, оно автоматически завершится, и Вы сможете продолжить работу в 1С.
В работе программиста 1С порой возникают нетривиальные задачи. Одна из таких задач - обрезка баз данных, имеющих очень большие физические размеры. Причины возникновения этой задачи самые разнообразные - критическое падение производительности информационной системы, проблемы технического обслуживания БД (проведение регламентных работ, формирование бекапов), создание тестовых баз разработки для подключения к хранилищу и прочее. Как пример - решение проблемы производительности с помощью разделения основной рабочей ИБ на БЕК/ФРОНТ с помощью формирования РИБ, состоящей из отчетной полной базы и небольшой рабочей БД, содержащей только срез данных, необходимый для регистрации текущих хозяйственных операций.
Особенность задачи свертки базы в том, что ее решение типовыми средствами - сложный и неприемлемо долгий процесс. Поэтому, да простят меня непреклонные приверженцы твердого соблюдения лицензионного соглашения, для свертки данных я использую исключительно средства MS SQL.
В представленной разработке собраны основные методы одного из способов быстрой очистки БД до определенной даты. Обработка предназначена для любых конфигураций на платформе 1С:Предприятие 8.3 (8.3.9.1818 и выше), работающих в режиме управляемого приложения. При желании, не составит труда доработать ее под любую конфигурацию V8.2 и выше. Для использования обработки требуются параметры доступа к SQL с правом создания и изменения таблиц.
Краткое описание возможностей обработки
При подключении к базе SQL сразу предоставляется следующая аналитическая информация:
- размер БД и наличие свободного пространства;
- дата последней резервной копии и ее размер;
- список первых 30 таблиц максимального размера с указанием внутреннего имени, количества строк и размера в МБ;
- список таблиц, очищенных или обрезанных с помощью данной обработки ранее.
Основные команды обработки:
- команда "Обновить исходные данные анализа" обновляет параметры выбранной БД и список таблиц максимального размера;
- команда "Выполнить сжатие БД (shrink)" запускает сжатие БД. Т.к. операция длительная, запрос сжатия выполняется асинхронно;
- команда "Выполнить анализ выбранных таблиц" определяет размер данных до и после указанной даты среза. Размер в МБ рассчитывается исходя из количества строк и среднего веса 1 строки;
- команда "Рассчитать время обрезки таблиц" производит расчет ориентировочного времени загрузки среза данных в новые таблицы путем замера длительности тестовой загрузки небольшого пакета данных и пропорционального пересчета согласно предполагаемого размера данных среза. Полученный таким образом параметр не является точным и существенно зависит от текущей нагрузки на сервер, но позволяет примерно оценить требуемое на обрезку таблиц время:
- команда "Обрезка выбранных таблиц до границы среза" создает копии отмеченных таблиц и заполняет их срезом данных с указанной даты. Срез данных определяется по реквизиту, указанному в списке таблиц в поле "Реквизит среза". Для табличных частей доступен вариант среза "По основной таблице", при этом срез данных ТЧ формируется по набору ссылок, отобранных в основной таблице объекта. В завершение операции, исходные таблицы заменяются соответствующими копиями, переименовываются и остаются в базе в качестве резерва для возможности отката в исходное состояние.
- команда "Подменить выбранные таблицы пустыми" подобна предыдущей, но новые таблицы подмены остаются пустыми;
- команда "Полная очистка выбранных таблиц (TRUNCATE)» производит мгновенную полную очистку выбранных таблиц без возможности восстановления данных. Команда опасная, на рабочих БД советую использовать ее очень осторожно;
- команда "Удалить временные таблицы" удаляет все временные таблицы, созданные при свертке БД ранее и не удаленные автоматически по каким-либо причинам, к примеру из-за технического сбоя.
Запуск всех "опасных" команд производится только после предварительного подтверждения.
Для большинства основных команд доступен просмотр текста сформированного скрипта SQL в отдельном окне. Пустые таблицы при анализе/свертке игнорируются.
Команды работы с резервными копиями таблиц расположены на вкладке "Очищенные (обрезанные) таблицы":
- команда "Восстановить исходные данные таблиц" возвращает исходные таблицы данных переименованием, таблицы подмены удаляются;
- команда "Удалить резервные таблицы исходных данных" удаляет исходные таблицы данных непосредственно, восстановление исходных данных после этого невозможно.
В завершение, обращаю внимание, что обработка осуществляет грубую обрезку данных без контроля ссылочной целостности. Используйте ее очень аккуратно и внимательно, очистку рабочих баз рекомендую производить в монопольном режиме и при обязательном наличии актуальной резервной копии БД.
Обновление от 2019.11.22:
Добавлена команда "Сжать данные таблиц". По команде выбранные таблицы сжимаются средствами MSSQL. Данная операция позволяет существенно сократить размер БД без удаления записей.
ПАО "НИКО-БАНК" выражает свою благодарность за оперативную и грамотную работу.
В условиях постоянно меняющегося законодательства Банк заинтересован иметь полную и актуальную номативную базу. Это обеспечивается использованием Банком справочно-нормативной системы "Гарант".
Безусловным плюсом в работе компании "МастерСофт" является быстрое реагирование сотрудников при предоставлении документов по запросу Банка, принятых до обновления справочно-правовой системы.
Коллектив компании "АЭРОПОРТ ОРЕНБУРГ" выражает благодарность за взаимовыгодное сотрудничество с МастерСофт-ИТ. Оперативная поставка антивирусных программ Dr. Web обеспечила надежную защиту нашей компьтерной сети.
Особая благодарность сотрудникам Департамента продаж СЦ ИТ за профессиональный подход в решении всех возникающих задач.
ООО "Орский Вагонный Завод" выражает искреннюю благодраность за качество обслуживания вашими специалистами. Консультации и поставка антивирусов всегда проходят оперативно и на высоком профессиональном уровне.
Уверены, что и в дальнейшем наше сотрудничество на взаимовыгодных условиях продолжится.
Главный бухгалтер муниципального бюджетного учреждения дополнительного образования "Дворец творчества детей и молодёжи" Кетерер Татьяна Михайловна выражает благодарность специалистам МастерСофт:
"Я хотела бы объявить благодарность вашим сотрудникам. Работает с нами по программе "1С: Бухгалтерия бюджетного учреждения 8" непосредственно Шевлягина Юлия.
Так же огромная благодарность за отзывчивость, терпение и квалифицированную, своевременную помощь Набокиной Олесе и Ерёменко Татьяне (они нас сопровождают по программе "Зарплата и Кадры").
Им очень с нами тяжело, но они терпеливо продолжают сотрудничать. С вами очень надёжно. Конечно же наши ошибки есть и без вас мы бы вообще о них не знали и в суде, наверное, судились бы. А сейчас мы решаем вопросы. ".
Читайте также: