Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Подготовка легковесных копий 1с для разработки / 14 сообщений из 14, страница 1 из 1
27.01.2021, 12:56
    #40039297
LexFreeman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подготовка легковесных копий 1с для разработки
Здравствуйте.
Рабочая база данных весит 1.2 Тб.
Для каждого программиста 1с создана копия рабочей бд с полным набором данных.
Есть задача подготовить автоматизированную копию с обрезанными данными для разработки.
Решение в лоб:
truncate table + shrinkfile выполняются около 36 часов. Есть идеи как ускорить процесс?
...
Рейтинг: 0 / 0
27.01.2021, 13:04
    #40039305
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подготовка легковесных копий 1с для разработки
LexFreeman
truncate table + shrinkfile выполняются около 36 часов


Хмм, это очень странно.

Что именно тормозит, truncate table или shrinkfile
...
Рейтинг: 0 / 0
27.01.2021, 13:11
    #40039310
LexFreeman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подготовка легковесных копий 1с для разработки
msLex,
тормозит конечно шринк
...
Рейтинг: 0 / 0
27.01.2021, 13:13
    #40039312
0wl
0wl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подготовка легковесных копий 1с для разработки
В качестве идеи:

можно включить партиционирование в основной базе и потом копировать разработчикам только актуальные секции
...
Рейтинг: 0 / 0
27.01.2021, 13:36
    #40039325
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подготовка легковесных копий 1с для разработки
LexFreeman
msLex,
тормозит конечно шринк



А насколько база заполнена после truncate table?

Может быстрее будет отребилдить все оставшиеся таблицы и шринкать с truncateonly?

Логи тоже шринкуются?
...
Рейтинг: 0 / 0
27.01.2021, 13:49
    #40039337
LexFreeman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подготовка легковесных копий 1с для разработки
0wl,

партиционирование изучаю, спасибо
...
Рейтинг: 0 / 0
27.01.2021, 13:53
    #40039339
LexFreeman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подготовка легковесных копий 1с для разработки
msLex
LexFreeman
msLex,
тормозит конечно шринк



А насколько база заполнена после truncate table?

Может быстрее будет отребилдить все оставшиеся таблицы и шринкать с truncateonly?

Логи тоже шринкуются?


На данном этапе база заполнена на 70% после truncate table. Это тестовый вариант.
Отребилдить как? shrinkfile notruncate?
база в простом режиме восстановления, лог пустой.
...
Рейтинг: 0 / 0
27.01.2021, 14:06
    #40039345
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подготовка легковесных копий 1с для разработки
LexFreeman

На данном этапе база заполнена на 70% после truncate table. Это тестовый вариант.


Если база остается заполнена на 70%, то ребилд не ваш вариант.

LexFreeman

Отребилдить как?
shrinkfile notruncate?

alter table .. rebuild
Но при 70% заполнении, как я уже сказал, это не вариант.
Могло бы помочь, оставайся в базе 5-10 % данных, тогда ребилд с высокой вероятностью "прижал" бы данные к началу файла(ов) данных и, что самое главное, сделал бы это значительно быстрее, чем shrink. После чего shrinkfile c truncteonly быстро бы высвободил место "справа" от последних существующих данных.

Кстати, truncate - операция асинхронная, т.е. физическое удаление данных (а значит и освобождение страниц) происходит не мгновенно.
Возможно, ваш shrink в том числе переносит уже удаленные данные.



LexFreeman

база в простом режиме восстановления, лог пустой.

Пустой не значит не занимает место на диске, какие файлы и с какими опциями вы шринкаете?

И вообще, зачем вам шринк при такой внушительной заполненности базы. Выиграете 300 - 400 ГБ при исходном размере в 1.2 ТБ, не уж то это так критично?
...
Рейтинг: 0 / 0
27.01.2021, 14:15
    #40039351
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подготовка легковесных копий 1с для разработки
0wl
В качестве идеи:

можно включить партиционирование в основной базе и потом копировать разработчикам только актуальные секции


А насколько 1С (я сейчас про сам сервер приложений) позволяет секционировать данные?
Могу ли я на свое усмотрение секционировать, например, какую-нибудь ГК по дате проводки?
Не возникнет ли при этом сбоев в работе самой 1С?
...
Рейтинг: 0 / 0
27.01.2021, 14:21
    #40039355
LexFreeman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подготовка легковесных копий 1с для разработки
msLex
0wl
В качестве идеи:

можно включить партиционирование в основной базе и потом копировать разработчикам только актуальные секции


А насколько 1С (я сейчас про сам сервер приложений) позволяет секционировать данные?
Могу ли я на свое усмотрение секционировать, например, какую-нибудь ГК по дате проводки?
Не возникнет ли при этом сбоев в работе самой 1С?

Майкрософт пишет, что для приложений секционирование прозрачно. Влияет ли секционирование на 1с не знаю, надо пробовать.
...
Рейтинг: 0 / 0
27.01.2021, 14:42
    #40039361
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подготовка легковесных копий 1с для разработки
LexFreeman
Майкрософт пишет, что для приложений секционирование прозрачно.

Только если эти приложения не занимаются "сверкой" текущей структуры базы с их ожиданиями.
Насколько я слышал, 1С это делает.
...
Рейтинг: 0 / 0
27.01.2021, 14:51
    #40039368
LexFreeman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подготовка легковесных копий 1с для разработки
msLex
[
Пустой не значит не занимает место на диске, какие файлы и с какими опциями вы шринкаете?

И вообще, зачем вам шринк при такой внушительной заполненности базы. Выиграете 300 - 400 ГБ при исходном размере в 1.2 ТБ, не уж то это так критично?

dbcc shrinkfile (dbfile,0)
Логфайл пустой - занимает 25мб.

400гб на десяти копиях разработчиков это уже 4тб.
Вообще, тестовый набор данных не окончательный. По быстрому выбрали те таблицы, которые точно никому не нужны.
...
Рейтинг: 0 / 0
27.01.2021, 15:14
    #40039380
0wl
0wl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подготовка легковесных копий 1с для разработки
msLex,

1С 7 очень истерично относилась к структуре БД и падала при любом несоответствии своим ожиданиям.

1С 8 в целом все равно, лишь бы запросы выполнялись. Единственное - при реструктуризации секционированной таблицы (например, если потребуется добавить колонку), 1С пересоздаст эту таблицу заново и всё секционирование превратится в тыкву.

Надо, конечно, протестировать основные сценарии использования на стенде. Но все такие особенности преодолимы
...
Рейтинг: 0 / 0
27.01.2021, 15:59
    #40039396
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подготовка легковесных копий 1с для разработки
LexFreeman,

Рассмотрите самый простой вариант - введение архива + усечение рабочий базы
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Подготовка легковесных копий 1с для разработки / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]