|
13 / 14 / 5
Регистрация: 21.08.2012
Сообщений: 245
|
|
Экстремальное увеличение размера файла журнала при удалении записей18.05.2020, 08:19. Показов 6703. Ответов 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
|
||
|
13 / 14 / 5
Регистрация: 21.08.2012
Сообщений: 245
|
|||
| 24.05.2020, 16:08 [ТС] | |||
|
0
|
|||
|
13 / 14 / 5
Регистрация: 21.08.2012
Сообщений: 245
|
||
| 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
|
|
|
13 / 14 / 5
Регистрация: 21.08.2012
Сообщений: 245
|
|
| 26.05.2020, 14:32 [ТС] | |
|
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
|
|
| 29.05.2020, 07:26 | |
|
Помогаю со студенческими работами здесь
29
Увеличение размера файла .exe ошибка при удалении записей из бд Упорядочить идентификаторы при удалении записей
Исключительная ситуация при удалении записей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
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.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|