Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.59/29: Рейтинг темы: голосов - 29, средняя оценка - 4.59
12 / 13 / 5
Регистрация: 21.08.2012
Сообщений: 242

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

18.05.2020, 08:19. Показов 6523. Ответов 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
12 / 13 / 5
Регистрация: 21.08.2012
Сообщений: 242
24.05.2020, 16:08  [ТС]
Цитата Сообщение от invm Посмотреть сообщение
Похоже, что только у вас. У себя повторить на 9 серверах не смог.
Или дело в самих данных. Но там, вроде, только числа и даты. Уточню завтра на работе...

Цитата Сообщение от invm Посмотреть сообщение
Можно профайлером отследить, когда увеличивается файл ЖТ.
Тоже завтра попробую...
0
12 / 13 / 5
Регистрация: 21.08.2012
Сообщений: 242
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
12 / 13 / 5
Регистрация: 21.08.2012
Сообщений: 242
26.05.2020, 14:32  [ТС]
Цитата Сообщение от invm Посмотреть сообщение
Если возможно, выложите подготовленный к удалению бекап БД на какой-нибудь файлообменник.
Отправил в личку.
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
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, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru