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

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

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

Цитата Сообщение от invm Посмотреть сообщение
Можно профайлером отследить, когда увеличивается файл ЖТ.
Тоже завтра попробую...
0
13 / 14 / 5
Регистрация: 21.08.2012
Сообщений: 246
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
Сообщений: 246
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
Сообщений: 246
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
Сообщений: 246
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
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru