powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не усекается лог базы данных
23 сообщений из 23, страница 1 из 1
Не усекается лог базы данных
    #39621406
SharedNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день форумчане.

Исходные данные:
SQL server 2016
версия:
Microsoft SQL Server 2016 (SP1) (KB3182545) - 13.0.4001.0 (X64)
Oct 28 2016 18:17:30
Copyright (c) Microsoft Corporation Developer Edition (64-bit)
on Windows Server 2016 Standard Evaluation 6.3 <X64> (Build 14393: )

База данных:
Какое-то время использовалась при модели восстановления "Полная", потом переведена в режим "Простая"

Файлы базы данных:
Логическое имяТип файлаФайловая группа Начальный размерBilling_SB_DataДанные строкPrimary 4 064 MBBilling_SB_Heating_LogЖурналНеприменимо 79 445 MB


Код: sql
1.
DBCC OPENTRAN()


авторНет активных открытых транзакций.
Выполнение DBCC завершено. Если DBCC выдает сообщения об ошибках, обратитесь к системному администратору.


Код: sql
1.
DBCC CHECKDB


Ошибок не обнаружил.

Код: sql
1.
BACKUP LOG BILLING TO DISK= 'NUL:'


авторСообщение 4208, уровень 16, состояние 1, строка 17
Инструкция BACKUP LOG недопустима в модели восстановления SIMPLE. Используйте инструкцию BACKUP DATABASE или измените модель восстановления с помощью инструкции ALTER DATABASE.
Сообщение 3013, уровень 16, состояние 1, строка 17
BACKUP LOG прервано с ошибкой.

Если перевести в Full - проходит, размер лога остается прежним.

Код: sql
1.
DBCC SHRINKFILE ('Billing_SB_Heating_Log' , 0, TRUNCATEONLY)


DbId FileId CurrentSize MinimumSize UsedPages EstimatedPages7 2 10168952 63 10168952 56

Пробовал переводить базу в модель восстановления "Полная", бекапить, после делать бекап лога с усечением, не помогло.

Может кто-то сталкивался с такими проблемами на 2016 сервере, или просто знает где копнуть ?

п.с.
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621418
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Навсякий, log_reuse_wait_desc в sys.databases что пишет?

Ну если там и правда simple, то разве что активная часть лога находится в конце файла и мешает его усечению.
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621422
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharedNoob,

что для вашей базы
Код: sql
1.
SELECT log_reuse_wait FROM sys.databases 
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621423
SharedNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
DBCC SHRINKDATABASE ('BAS_BILLING ')


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Не удалось сжать файл журнала 2 (Billing_SB_Heating_Log) из-за необходимого минимального пространства для журналов.
DbId   FileId      CurrentSize MinimumSize UsedPages   EstimatedPages
------ ----------- ----------- ----------- ----------- --------------
7      2           10168952    63          10168952    56

(затронута одна строка)

Выполнение DBCC завершено. Если DBCC выдает сообщения об ошибках, обратитесь к системному администратору.
Весьма странное сообщение, физически свободного места на дисках больше терабайта.
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621425
SharedNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
SELECT log_reuse_wait FROM sys.databases 


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
log_reuse_wait
--------------
0
0
0
0
0
0
4
0
4
2
0
0
0
0
0
0
0
0
2
0
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621426
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для вашей базы, а не для всех баз. И log_reuse_wait_DESC.
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621429
SharedNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ой, упустил ...
Код: plaintext
1.
2.
log_reuse_wait
--------------
0
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621431
SharedNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
log_reuse_wait log_reuse_wait_DESC0 NOTHING
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621433
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
DBCC SHRINKFILE ('Billing_SB_Heating_Log' , 1)
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621437
SharedNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
DBCC SHRINKFILE ('Billing_SB_Heating_Log' , 1)


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Не удалось сжать файл журнала 2 (BAS_Billing_SB_Heating_Log) из-за необходимого минимального пространства для журналов.
DbId   FileId      CurrentSize MinimumSize UsedPages   EstimatedPages
------ ----------- ----------- ----------- ----------- --------------
7      2           10207352    63          10207352    56

(затронута одна строка)

Выполнение DBCC завершено. Если DBCC выдает сообщения об ошибках, обратитесь к системному администратору.
О каком минимальном пространстве идет речь ?
На дисках места достаточно.
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621440
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharedNoob,

DBCC OPENTRAN

CHEKPOINT
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621442
SharedNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
DBCC OPENTRAN


Код: plaintext
1.
2.
Нет активных открытых транзакций.
Выполнение DBCC завершено. Если DBCC выдает сообщения об ошибках, обратитесь к системному администратору.

Код: sql
1.
CHEcKPOINT


Код: plaintext
1.
Выполнение команд успешно завершено.
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621447
SharedNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
После каждого перезапуска сервера база данных какое-то время находиться в состоянии "(В процессе восстановления)".
Всегда.
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621453
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharedNoob,

эмммм, а

авторDBCC SHRINKFILE ('Billing_SB_Heating_Log' , 63)
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621456
SharedNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Не удалось сжать файл журнала 2 (BAS_Billing_SB_Heating_Log) из-за необходимого минимального пространства для журналов.
DbId   FileId      CurrentSize MinimumSize UsedPages   EstimatedPages
------ ----------- ----------- ----------- ----------- --------------
7      2           10207352    63          10207352    56

(затронута одна строка)

Выполнение DBCC завершено. Если DBCC выдает сообщения об ошибках, обратитесь к системному администратору.
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621466
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharedNoob,

так а поставить initsize на нормальный?
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621485
SharedNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,
А какой должен быть нормальный ?
ни 0, ни 100, ни 1000 поставить не дает. Сбрасывает самостоятельно в 79 445 MB.
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39621559
Давайте посмотрим, сколько там свободного места
Код: sql
1.
2.
SELECT name ,size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS 'Свободное место в Мб'
FROM sys.database_files
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39623364
SharedNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем итоге:

Перешерстив весь форум, msdn, хабр и т п решение найдено не было. Возможно какая-то "бага" этой версии сервера.
После каждого перезапуска сервера лог база данных была в состоянии "Восстановление". После каждого восстановления журнал транзакций выростал еще на несколько гигабайт. Никакие манипуляции с журналом транзакций не помогли. Свободного места в журнале транзакций не было (1-2 мегабайта). В конечном итоге журнал транзакций, после попыток его усечь вырос до 300+ гигабайт. Пересоздать лог журнала не вышло, так как "SQL server не поддерживает пересоздания журнала транзакций в базах данных, в которых используются таблицы оптимизированные для работы в памяти".

Создал новую БД. Заскриптовал "поврежденную". Скриптами воссоздал структуру. Скриптами перенес данные.

Вот как то так.
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39623376
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharedNoobTaPaK,
А какой должен быть нормальный ?
ни 0, ни 100, ни 1000 поставить не дает. Сбрасывает самостоятельно в 79 445 MB.
сколько VLF в логе?
Код: sql
1.
dbcc loginfo
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39623381
SharedNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это скриншот запроса из базы данных, до попыток ее сжатия.
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39623382
SharedNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже сложно, что -либо воссоздать, так как поврежденная бд занимала слишком много места и была удалена.
...
Рейтинг: 0 / 0
Не усекается лог базы данных
    #39624062
Фотография StarikNavy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharedNoob поврежденная бд занимала слишком много места и была удалена.
сурово у вас там! не забалуешь!
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не усекается лог базы данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]