13 / 14 / 5
Регистрация: 21.08.2012
Сообщений: 245

Экстремальное увеличение размера файла журнала при удалении записей

18.05.2020, 08:19. Показов 6703. Ответов 28

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
При удалении записей из одной таблицы файл журнала очень сильно увеличивается в размерах, пока не займёт всё свободное место на диске. После этого операция удаления прекращается с ошибкой.
Размер базы - 2.1 ГБ.
В таблице, из которой удаляются записи, содержится 15 млн записей. Вместе с индексами она занимает примерно 1 ГБ (т.е. половину от общего размера базы). Удалить необходимо 13 млн записей. На диске, на котором расположена база и журнал свободно 17 ГБ. Файл журнала на момент возникновения ошибки имеет примерно такой же размер - 17 ГБ.
Много раз делал подобную операцию, всегда проходила без проблем (на этом же ПК и с таким же размером свободного места).
Пришлось удалять по частям.
Вопрос - по каким причинам размер журнала может превысить размер базы в 8 раз? И что можно сделать в такой ситуации (кроме удаления меньшими порциями)?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.05.2020, 08:19
Ответы с готовыми решениями:

Как уменьшить увеличение размера журнала базы?
Добрый день! Вопрос следующий - в ходе выполнения хранимой процедуры на MS сервере 2008 создается таблица, в которую помещаются записи из...

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

Увеличение размера файла
У меня есть на входе файл. Он открывается только для чтения (содержимое НЕ должно изменяться). Для дальнейшей работы необходимо, чтобы...

28
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
24.05.2020, 13:35
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от СергейР Посмотреть сообщение
У данного эффекта высокая повторяемость
Похоже, что только у вас. У себя повторить на 9 серверах не смог.

Можно профайлером отследить, когда увеличивается файл ЖТ.
Для этого создайте трассу с событиями SQL:StmtStarting, SQL:StmtCompleted, SP:StmtStarting, SP:StmtCompleted, Log File Auto Grow и столбцами EventClass, TextData, DatabaseName, SPID, StartTime, FileName, IntegerData, Duration

Подготовьте данные для удаления и ужмите файл ЖТ.
Запустите трассировку, затем удаление. Желательно не иметь при этом другой пользовательской активности.

В результате увидите в процессе выполнения каких инструкций (*:StmtStarting и *:StmtCompleted) увеличивается файл ЖТ (FileName) и на сколько (IntegerData) и в пределах ли одной сессии (SPID)
0
13 / 14 / 5
Регистрация: 21.08.2012
Сообщений: 245
24.05.2020, 16:08  [ТС]
Цитата Сообщение от invm Посмотреть сообщение
Похоже, что только у вас. У себя повторить на 9 серверах не смог.
Или дело в самих данных. Но там, вроде, только числа и даты. Уточню завтра на работе...

Цитата Сообщение от invm Посмотреть сообщение
Можно профайлером отследить, когда увеличивается файл ЖТ.
Тоже завтра попробую...
0
13 / 14 / 5
Регистрация: 21.08.2012
Сообщений: 245
26.05.2020, 13:33  [ТС]
Цитата Сообщение от invm Посмотреть сообщение
В результате увидите в процессе выполнения каких инструкций (*:StmtStarting и *:StmtCompleted) увеличивается файл ЖТ (FileName) и на сколько (IntegerData) и в пределах ли одной сессии (SPID)
Получил 90 записей, из них 85 для события "Log File Auto Grow". Все 90 записей имеют один SPID.
IntegerData = 25 600 (шаг прироста ЖТ в настройках задан 200 Мб).
Если я правильно понимаю, 25 600 * 8 кБ (размер страницы) * 85 строк ~ 17 ГБ (примерно соответствует размеру файла ЖТ).
Количество удалённых записей из трассировки соответствует количеству обработанных строк.
Что ещё можно выяснить?
Миниатюры
Экстремальное увеличение размера файла журнала при удалении записей   Экстремальное увеличение размера файла журнала при удалении записей  
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
26.05.2020, 13:50
Забавная фигня...
Если возможно, выложите подготовленный к удалению бекап БД на какой-нибудь файлообменник.
0
13 / 14 / 5
Регистрация: 21.08.2012
Сообщений: 245
26.05.2020, 14:32  [ТС]
Цитата Сообщение от invm Посмотреть сообщение
Если возможно, выложите подготовленный к удалению бекап БД на какой-нибудь файлообменник.
Отправил в личку.
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
26.05.2020, 15:25
СергейР, да, забрал.
Еще покажите результат select @@version этого сервера.
0
13 / 14 / 5
Регистрация: 21.08.2012
Сообщений: 245
26.05.2020, 15:52  [ТС]
invm,
Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64)
Jun 17 2016 19:14:09
Copyright (c) Microsoft Corporation
Developer Edition (64-bit) on Windows NT 6.3 <X64> (Build 17134: )
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
28.05.2020, 19:39
Лучший ответ Сообщение было отмечено СергейР как решение

Решение

СергейР, в общем, я упустил один важный момент - место в ЖТ выделяется еще и под откат транзакции.
Если посмотреть сколько скушано с учетом этого, то получится примерно 5 Гб на удаление и примерно 11 Гб на его откат.
1
13 / 14 / 5
Регистрация: 21.08.2012
Сообщений: 245
29.05.2020, 07:26  [ТС]
Понятно, спасибо. Буду иметь ввиду, что журнал транзакций может расти таким образом...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.05.2020, 07:26
Помогаю со студенческими работами здесь

Увеличение размера файла .exe
Здравствуйте! Возник вопрос о том, как увеличить размер файла, без его изменения иконки, пробовал команду: copy /B Исходный.EXE+Второй...

ошибка при удалении записей из бд
при удалении данных выскакивает ошибка: Удаление или изменение записи невозможно. В таблице &quot;Аудитории&quot; имеются связанные записи....

Упорядочить идентификаторы при удалении записей
Всем привет. Проблема такая, в таблице есть уникальный идентификатор записи 1,2,3, ..... и т.д. При удалении какой нить записи напр 2...

Ошибка при удалении повторяющихся записей
Добрый день! есть табличка Id_zavtag zav_number tag 1 5 5 2 ...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Опции темы

Новые блоги и статьи
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru