Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Не получается операция сжатия лога  [new]
Кирилл Иванов
Member

Откуда:
Сообщений: 12
Добрый день!

Мы используем Microsoft SQL Server Enterprise Edition (64-bit)
Build 9.0.5000

БД имеет модель восстановления Full и весит более 0.5 ТБ
Схема резервирования следующая:
1. Полное резервирование выполняется 1 раз в неделю
2. Резервирование журнала каждые 20 минут

Для лога используется 1 файл.(file.ldf)
Прирост лога установлен - 1000 МБ

За последние 2 недели начал расти лог-файл(file.ldf) и вырос с 130 ГБ до 218 ГБ.
В период этих 2 недель был создан индекс размером 18 ГБ. Так как резервирование журнала производится каждые 20 минут, то соответственно резервная копия журнала получилась ~20 ГБ.

Файл лога(file.ldf) при создании индекса вырос соответственно до ~150ГБ.

Но по каким-то причинам, начал по чуть-чуть расти.

После создания резервной копии журнала была попытка сжать журнал, которая не изменила размер журнала.

Команда DBCC SQLPERF (LOGSPACE) показывает следующее
Database Name
Ibs
Log Size (MB)
218438.5
Log Space Used (%)
99.76498
Status
0

Лог продолжает расти.

Если мысли, по каким причинам не получается его уменьшить.
21 сен 11, 12:59    [11311194]     Ответить | Цитировать Сообщить модератору
 Re: Не получается операция сжатия лога  [new]
Glory
Member

Откуда:
Сообщений: 104751
Кирилл Иванов
Log Space Used (%)
99.76498

Как можно уменьшить лог, использованный на 99,76% ?
Наверное нужно его усечь сначала
21 сен 11, 13:04    [11311245]     Ответить | Цитировать Сообщить модератору
 Re: Не получается операция сжатия лога  [new]
komrad
Member

Откуда:
Сообщений: 5756
Кирилл Иванов
Лог продолжает расти.

Если мысли, по каким причинам не получается его уменьшить.


старая открытая транзакция

покажите

use lbs
go
dbcc opentran()
go
21 сен 11, 13:07    [11311280]     Ответить | Цитировать Сообщить модератору
 Re: Не получается операция сжатия лога  [new]
Кирилл Иванов
Member

Откуда:
Сообщений: 12
Glory,

Я так понял усечения лога необходимо делать следующими командами:
1. BACKUP LOG OurBD WITH TRUNCATE_ONLY;
2. DBCC SHRINKDATABASE ( OurDB, TRUNCATEONLY)

Но после данного процесса потребуется создавать полную резервную копию БД

Между командами BACKUP LOG OurBD WITH TRUNCATE_ONLY и BACKUP DATABASE.... будет существовать некий промежуток времени, на который я не смогу восстановить БД, в случае если это понадобится для анализа какой-либо ситуации.
Грубо говоря:
12-00 BACKUP LOG OurBD WITH TRUNCATE_ONLY;
12-05 DBCC SHRINKDATABASE ( OurDB, TRUNCATEONLY)
12-10 BACKUP DATABASE....
12-15 BACKUP LOG OurBD

Если понадобится восстановить БД для анализа на время 12-06, то это не получиться.
21 сен 11, 13:16    [11311401]     Ответить | Цитировать Сообщить модератору
 Re: Не получается операция сжатия лога  [new]
iljy
Member

Откуда:
Сообщений: 8711
Кирилл Иванов,

так сделайте нормальный BACKUP LOG
21 сен 11, 13:28    [11311539]     Ответить | Цитировать Сообщить модератору
 Re: Не получается операция сжатия лога  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Кирилл Иванов
Если мысли, по каким причинам не получается его уменьшить.


1.зависшая транзакция
2. зависшая\недонастроенная репликация
3. не делается бекап лога

выбирайте:)
21 сен 11, 13:30    [11311572]     Ответить | Цитировать Сообщить модератору
 Re: Не получается операция сжатия лога  [new]
Кирилл Иванов
Member

Откуда:
Сообщений: 12
iljy,

BACKUP LOG выполняется каждые 20 минут
21 сен 11, 13:34    [11311617]     Ответить | Цитировать Сообщить модератору
 Re: Не получается операция сжатия лога  [new]
Кирилл Иванов
Member

Откуда:
Сообщений: 12
WarAnt,

Выбираю 1.
21 сен 11, 13:34    [11311622]     Ответить | Цитировать Сообщить модератору
 Re: Не получается операция сжатия лога  [new]
Кирилл Иванов
Member

Откуда:
Сообщений: 12
komrad,


Да, после обнаружения роста лога, я не обратил внимание на устаревшие открытые транзакции командой DBCC OPENTRAN:

Oldest active transaction:
SPID (server process ID): 109s
UID (user ID) : -1
Name : queue_process
LSN : (44054:23338:1)
Start time : Sep 5 2011 11:28:20:863AM
SID : 0x01
DBCC execution completed. If DBCC printed error messages, contact your system administrator.


Она действительно выполняется уже 2 недели.
Сейчас проанализирую её и отпишу.
21 сен 11, 13:36    [11311635]     Ответить | Цитировать Сообщить модератору
 Re: Не получается операция сжатия лога  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Кирилл Иванов,

ободеть, как можно не замечать что то на сервере что выполняется 2 недели:)
хотя конечно всякое может быть...
удачи в разборе полетов:)
21 сен 11, 14:11    [11312033]     Ответить | Цитировать Сообщить модератору
 Re: Не получается операция сжатия лога  [new]
Кирилл Иванов
Member

Откуда:
Сообщений: 12
Все, всем спасибо.
Проблема решилась.
Проблема была в Сервис Брокере, который открыл транзакцию и ожидал обращения к нему с 5 сентября.
Разработчики исправили процедуру, и теперь все ок.
21 сен 11, 16:10    [11313272]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить