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