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

Моя хранимая процедура при выполнении на сервере занимает около 1 часа. Поэтому, когда я проверял файл журнала, его размер был около 65 ГБ. Думаю, эти журналы убивают производительность моей процедуры магазина. Как безопасно очистить журналы?

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

Когда я попытался сжать файл, я заметил, что у меня было 5% свободного места. Так что даже если я уменьшусь, размер моего файла будет около 60 ГБ.

Как я могу очистить журналы транзакций? Может ли кто-нибудь помочь мне с этим вопросом?

Заранее спасибо.


person Nandini    schedule 22.12.2015    source источник
comment
На самом деле это не имеет ничего общего с программированием, а с администрированием БД (вы даже пометили это этим!) - так что здесь это не по теме и принадлежит dba.stackexchange.com - голосование за перемещение.   -  person marc_s    schedule 22.12.2015
comment
stackoverflow.com/questions/40402/ - это то, что вам может понадобиться   -  person zedfoxus    schedule 22.12.2015
comment
Кроме того - я не думаю, что ваша реальная проблема будет решена просто путем сжатия журнала транзакций - плюс, если рост вашего журнала неконтролируемый, это может указывать на проблемы с планом обслуживания / резервного копирования.   -  person Allan S. Hansen    schedule 22.12.2015
comment
На самом деле это все наоборот. Множество операций вызывают большую активность в журнале транзакций, и никакие чистки журнала транзакций не исправят это. Фактически, усадка и т. Д. Потребует больше времени, так как она просто должна снова вырасти. Вполне возможно, что вся эта деятельность на самом деле связана с плохим программированием базы данных и не имеет ничего общего с администратором.   -  person Nick.McDermaid    schedule 22.12.2015
comment
Поэтому вместо того, чтобы делать поспешные выводы о журналах, опишите, какие действия вы предпринимаете. Классическим исправлением может быть выполнение операций небольшими партиями (т. Е. Фиксировать каждые 10 000 строк, а не одним большим пакетом).   -  person Nick.McDermaid    schedule 22.12.2015
comment
когда я выполняю свою процедуру хранилища на местном уровне, это не занимает 1 минуту. только на производстве требуется более 1 часа. оба имеют одинаковые данные.   -  person Nandini    schedule 22.12.2015
comment
Вы также сталкиваетесь с проблемой изменения размера журнала транзакций в разработке? Предлагаю вам провести сравнение кода. Похоже, вы случайно выполняете перекрестное соединение или что-то в этом роде. Вам также может потребоваться сравнить планы запросов, но на самом деле похоже, что что-то отличается   -  person Nick.McDermaid    schedule 23.12.2015
comment
Я взял резервную копию базы данных из производства и восстановил в разработке. так что запросы такие же. В процессе разработки, когда я проверяю размер журнала, он показывает 1% использования и 99% неиспользуемых. но в производстве он используется на 95%, а неиспользуемое пространство на 5% свободно.   -  person Nandini    schedule 23.12.2015