Создание копии рабочей базы

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

Администрирование - Администрирование данных 1С - Свертка базы

копия базы оптимизация тестовой быстрая очистка таблиц

Как регулярно создавать копии рабочей базы для разработки? Как уменьшить объём тестовой базы? Как получать всегда актуальную тестовую базу?

Статья предназначена, прежде всего, для компаний, обслуживающих значительные по объему базы данных (БД), от 0.5 ТБ и более. Тестовые среды для поддержки и разработки, как правило, ограничены. Потребность развернуть в тестовой среде 15-20 копий рабочей БД – вполне реальна, и вполне может быть, что рабочая БД – не одна. Также для тестов и разработки лучше использовать максимально актуальную копию рабочей БД.

Таким образом, задачу создания тестовой БД можно разделить на 2 этапа. На 1 этапе требуется понять, каким образом из рабочей базы объемом 0.5 ТБ получить тестовую базу объемом 50 ГБ.

В моей практике были в основном задачи подготовки тестовых БД на MS SQL, поэтому в части запросов к СУБД будем рассматривать запросы к СУБД MS SQL (что не мешает адаптировать Вам всё под Oracle)

Сперва следует оценить, какие таблицы в Вашей рабочей БД обладают наибольшим объёмом, и обладают ли эти таблицы ценностью в тестовой среде. Для определения наибольших по объёму таблиц можно использовать отчет в Management Studio MS SQL (Disk Usage by top tables):

Примечание: никто не запрещает Вам использовать многочисленные «базопузомеры» с инфостарта для этого также.

Для понимания ценности данных в таблицах можно использовать встроенные в платформу 1С средства – метод ПолучитьСтруктуруХраненияБазыДанных().

Сопоставив имена таблиц БД с именами таблиц 1С станет понятно, какие таблицы в тестовой базе не нужны. Пример таких таблиц:

  • Справочники «Присоединенные файлы»
  • Регистр сведений «Версии объектов»
  • Регистр сведений «Двоичные данные файлов»
  • Таблицы регистрации изменений для обмена

Выбрав наиболее объемные и малоценные для тестовой БД таблицы, можно написать скрипт их очистки: «USE <DBNAME>;

|TRUNCATE TABLE  dbo.SomeDBName;»

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

            Вторым шагом для значительного снижения объема тестовой БД является сжатие БД. Сжимаются все таблицы и индексы. Текст скрипта для сжатия БД также приложен к статье.

            Теперь остался один вопрос – как транспортировать рабочую БД на тестовый сервер, чтобы каждое утро получать максимально уменьшенную свежую копию рабочей БД. Для этого можно использовать различные механизмы (SQL DTS), мастер Copy DB в Management Studio:  

 

 

 Также можно использовать скрипт, который развернёт бэкап рабочей БД в тестовой среде (на тестовом MS SQL).

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

1. На тестовом SQL сервере настроен план обслуживания, в котором последовательно выполняются следующие шаги:

2. Скрипт разворачивает бэкап рабочей БД на тестовом сервере в существующую эталонную тестовую БД.

3. Запускается скрипт очистки таблиц БД.

4. Запускается скрипт сжатия таблиц БД.

5. Профит.

            Описанным способом удалось размер одной из рабочих БД снизить в 8 раз, т.е. вместо 1 тестовой БД на тестовом сервере – теперь развернуто 8 тестовых БД.

            Описанные в статье действия выполнялись в ознакомительных целях на платформе 1С 8.3.  Скрипты, приложенные к статье, являются примером использования языка запросов MS SQL Server. Для тестов использовалась 1С 8.3.12. 

Достоинства

Сценарий подготовки тестовых баз данных 1С.

Работает с платформой 1С 8.3

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

Наименование Файл Версия Размер
Обработка СХБД (для 1С 8.3.12 и старше)

.epf 7,36Kb
7
.epf 7,36Kb 7 Скачать
Скрипт сжатия базы данных (для любой версии 1С 8)

.sql 2,08Kb
6
.sql 2,08Kb 6 Скачать

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

Оставьте свое сообщение

См. также

Корректировка остатков регистров бухгалтерии (обычные и управляемые формы) Промо

Свертка базы Универсальные обработки Закрытие периода Чистка базы v8::БУ v8::УФ 1cv8.cf БУ НУ Абонемент ($m)

Внешняя обработка, предназначенная для удобного исправления остатков по регистрам бухгалтерии (Хозрасчетный, Налоговый или любой другой) посредством автоматизации ввода корректировочного документа ("Операция", "Корректировка записей регистров"), приводящего регистр в нужное состояние остатков от текущего. Удобна для массовых правок остатков по бухгалтерскому и налоговому учету на какую-то дату (обычно перед реорганизацией учета, сверткой базы и т.п.)

2 стартмани

03.06.2017    33724    192    stvorl    27    

Корректировка остатков регистров накопления (обычные и управляемые формы)

Закрытие периода Свертка базы Чистка базы Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

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

2 стартмани

14.01.2012    81121    1690    stvorl    76