|
12 / 13 / 5
Регистрация: 21.08.2012
Сообщений: 242
|
|
Экстремальное увеличение размера файла журнала при удалении записей18.05.2020, 08:19. Показов 6523. Ответов 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
Сообщений: 242
|
|||
| 24.05.2020, 16:08 [ТС] | |||
|
0
|
|||
|
12 / 13 / 5
Регистрация: 21.08.2012
Сообщений: 242
|
||
| 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
Сообщений: 242
|
|
| 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
Сообщений: 242
|
|
| 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
Сообщений: 242
|
|
| 29.05.2020, 07:26 [ТС] | |
|
Понятно, спасибо. Буду иметь ввиду, что журнал транзакций может расти таким образом...
0
|
|
| 29.05.2020, 07:26 | |
|
Помогаю со студенческими работами здесь
29
Увеличение размера файла .exe ошибка при удалении записей из бд Упорядочить идентификаторы при удалении записей
Исключительная ситуация при удалении записей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|