Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как я избавился от непомерного журнала транзакций / 12 сообщений из 12, страница 1 из 1
19.07.2002, 11:17:12
    #32037672
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как я избавился от непомерного журнала транзакций
От автора
Уважаемые коллеги!
Предлагаю на рассмотрение метод полного очищения журнала транзакций и прошу вас оценить, насколько он жизнеспособен.
Спасибо.

Пролог:
У нас есть БД, разработанная одной конторой (руки бы им поотшибать), которая используется для поддержки нашего сайта.
Так вот - при размере файла данных 12 м журнал транзакций достиг 300 м (!)
Его уже и шринковали, и модель SIMPLE, и бэкапится регулярно - ну не хочет сжиматься!
А для сайта, который обновляется раз в неделю - журнал транзакций, ессно, "как собаке пятая нога".

Основная тема
Вот я и подумал, что необходим радикальный метод. Результатом стал такой алгоритм:
sp_detach_db 'MyDatabase'

переименование файла журнала MyDatabase_log.ldf -> MyDatabase_log.ld_ (эксперимент все-же!)

sp_attach_db 'MyDatabase','c:\....\MyDatabase.mdf'

В результате имеем сообщение, что журнал транзакций поврежден, поэтому был создан новый пустой журнал. Вуа-ля!

Эпилог
Опыт проводился на локальном сервере, дабы не грохнуть сайт. Все крутится на MS SQL2000. БД вроде работает, запросы - запросятся, инсерты - инсертятся.
Тем не менее, боюсь, что чего то не учел.
Прошу высказаться.

ЗЫ Возможно, кто-то этим уже пользуется - не претендую на первенство и, тем более, на лавры какие-то.
...
Рейтинг: 0 / 0
19.07.2002, 11:25:53
    #32037675
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как я избавился от непомерного журнала транзакций
Мда... До такого надо додуматься.
А зачем Вам тогда вообще журнал, если
Вы его прибить хотите? Способ не выдерживает критики, т.к. процедуры, которые Вы используете, предназначены для экстренных случаев спасения ущербных БД, а не для ужатия журналов.

Кроме того, что значит Его уже и шринковали, и модель SIMPLE, и бэкапится регулярно - ну не хочет сжиматься!
? Видимо, Вы что-то упустили в стандартной процедуре ужатия (ссылки см. в форуме).

Удачи

P.S. Все сказанное - мое скромное мнение.
...
Рейтинг: 0 / 0
19.07.2002, 11:49:49
    #32037697
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как я избавился от непомерного журнала транзакций
2 jimmers

Стандартная процедура ужатия?
1. DBCC SHRINKDATABASE - OK
2. DBCC SHRINKFILE - OK
3. BACKUP LOG ... WITH NO_LOG - OK
Размер уменьшился метров на 25.

Опции БД:
- модель SIMPLE
- Auto shrink

Варианты:
1. Переделать приложение (видимо остаются открытые транзакции или в транзакции включены операции с полями TEXT/IMAGE) - так разработчиков уже и не сыщешь
2. Принять радикальные меры - см. выше.

Зачем вообще журнал?
ИМХО в данном конкретном случае вопрос должен так стоять: Зачем там вообще БД?
Для нашего сайта (только новости и статьи) - она вообще не нужна. Однако - она (БД) есть. Обновляется раз в неделю. Бэкапится регулярно.
Ну и зачем здесь журнал транзакций?
...
Рейтинг: 0 / 0
19.07.2002, 11:57:47
    #32037705
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как я избавился от непомерного журнала транзакций
Кроме того данный метод не будет работать для базы с несколькими файлами журнала.
...
Рейтинг: 0 / 0
19.07.2002, 12:06:40
    #32037716
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как я избавился от непомерного журнала транзакций
Хорошо, признаю - кривой метод. Порождение моей буйной фантазии.

ЗЫ Но попробовать то стоило? :0)
...
Рейтинг: 0 / 0
19.07.2002, 13:08:28
    #32037740
Alexander_Chepack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как я избавился от непомерного журнала транзакций
При размере базы в 12 М, проще создать новую (с маленьким логом) и скопировать данные и объекты из старой - старую потом можно прибить. Процесс займет секунд 30, я думаю.
...
Рейтинг: 0 / 0
19.07.2002, 13:18:02
    #32037741
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как я избавился от непомерного журнала транзакций
2 Alexandr Chepack
Может быть и так, если есть уверенность, что можно так же быстро перенастроить ПО для использования новой БД. А вот такой уверенности - нет.
...
Рейтинг: 0 / 0
19.07.2002, 14:18:57
    #32037765
kost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как я избавился от непомерного журнала транзакций
Так как же все-таки правильно урезать LOG?
А то у меня такие же проблемы. Не работает метод, который описан в BOL.
При одном файле журнала данный метод на 100% рабочий?
Как же все-таки в таких ситуациях поступает Glory?
...
Рейтинг: 0 / 0
19.07.2002, 14:33:26
    #32037772
kost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как я избавился от непомерного журнала транзакций
Извиняюсь. Нашел по поиску "журнал транзакций"
...
Рейтинг: 0 / 0
20.07.2002, 00:04:50
    #32037859
Артем
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как я избавился от непомерного журнала транзакций
Не знаю насколько это правильно но в точно таком же виде работает месяца три.
Один раз за это время база не приатачилась в силу непонятных причин. Через час тоже самое прошло вполне успешно. Ничего не менялось. даже лог не дописывался просто сначала матом что лог поврежден, а потом приаттачила и нормально.
...
Рейтинг: 0 / 0
22.07.2002, 10:52:52
    #32037950
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как я избавился от непомерного журнала транзакций
...
Рейтинг: 0 / 0
22.07.2002, 10:56:44
    #32037954
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как я избавился от непомерного журнала транзакций
Посмотрел статью "Метод быстрого усечения транзакций" ...
Выходит, я - плагиатор :0))

ЗЫ Но все равно - приятно.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как я избавился от непомерного журнала транзакций / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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