|
12 / 13 / 5
Регистрация: 21.08.2012
Сообщений: 240
|
|
Экстремальное увеличение размера файла журнала при удалении записей18.05.2020, 08:19. Показов 6484. Ответов 28
Доброго времени суток.
При удалении записей из одной таблицы файл журнала очень сильно увеличивается в размерах, пока не займёт всё свободное место на диске. После этого операция удаления прекращается с ошибкой. Размер базы - 2.1 ГБ. В таблице, из которой удаляются записи, содержится 15 млн записей. Вместе с индексами она занимает примерно 1 ГБ (т.е. половину от общего размера базы). Удалить необходимо 13 млн записей. На диске, на котором расположена база и журнал свободно 17 ГБ. Файл журнала на момент возникновения ошибки имеет примерно такой же размер - 17 ГБ. Много раз делал подобную операцию, всегда проходила без проблем (на этом же ПК и с таким же размером свободного места). Пришлось удалять по частям. Вопрос - по каким причинам размер журнала может превысить размер базы в 8 раз? И что можно сделать в такой ситуации (кроме удаления меньшими порциями)?
0
|
|
| 18.05.2020, 08:19 | |
|
Ответы с готовыми решениями:
28
Как уменьшить увеличение размера журнала базы? При удалении учащихся из журнала удаляет все связанные записи с ним в остальных таблицах Увеличение размера файла |
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
||
| 24.05.2020, 13:35 | ||
|
Можно профайлером отследить, когда увеличивается файл ЖТ. Для этого создайте трассу с событиями 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
|
||
|
12 / 13 / 5
Регистрация: 21.08.2012
Сообщений: 240
|
|||
| 24.05.2020, 16:08 [ТС] | |||
|
0
|
|||
|
12 / 13 / 5
Регистрация: 21.08.2012
Сообщений: 240
|
||
| 26.05.2020, 13:33 [ТС] | ||
|
IntegerData = 25 600 (шаг прироста ЖТ в настройках задан 200 Мб). Если я правильно понимаю, 25 600 * 8 кБ (размер страницы) * 85 строк ~ 17 ГБ (примерно соответствует размеру файла ЖТ). Количество удалённых записей из трассировки соответствует количеству обработанных строк. Что ещё можно выяснить?
0
|
||
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
|
| 26.05.2020, 13:50 | |
|
Забавная фигня...
Если возможно, выложите подготовленный к удалению бекап БД на какой-нибудь файлообменник.
0
|
|
|
12 / 13 / 5
Регистрация: 21.08.2012
Сообщений: 240
|
|
| 26.05.2020, 14:32 [ТС] | |
|
0
|
|
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
|
| 26.05.2020, 15:25 | |
|
СергейР, да, забрал.
Еще покажите результат select @@version этого сервера.
0
|
|
|
12 / 13 / 5
Регистрация: 21.08.2012
Сообщений: 240
|
|
| 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
|
|
|
12 / 13 / 5
Регистрация: 21.08.2012
Сообщений: 240
|
|
| 29.05.2020, 07:26 [ТС] | |
|
Понятно, спасибо. Буду иметь ввиду, что журнал транзакций может расти таким образом...
0
|
|
| 29.05.2020, 07:26 | |
|
Помогаю со студенческими работами здесь
29
Увеличение размера файла .exe ошибка при удалении записей из бд Упорядочить идентификаторы при удалении записей
Исключительная ситуация при удалении записей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|