Как просмотры и процессы, ссылающиеся на другую базу данных, приведут к росту журнала? - PullRequest
0 голосов
/ 17 октября 2008

У меня есть 2 базы данных на одном сервере; давайте назовем их db A и B. База данных A составляет около 11 ГБ, база данных B очень мала (155 МБ). База данных B имеет несколько представлений и процедур, которые постоянно обращаются и обновляют данные в базе данных A.

Интересно то, что журнал для базы данных B быстро увеличивается до огромных размеров, я думаю, он вырос до 12 ГБ за неделю. База данных А не так быстро растет.

Что может быть причиной того, что мой журнал так сильно увеличился? Происходит ли что-то, что происходит при выборе данных из другой базы данных, что приводит к такому росту моего журнала?

Я знаю, что когда вы делаете что-то похожее с базой данных на другом сервере, все данные перемещаются в вызывающую базу данных до того, как они присоединяются и выбираются ... Я вижу, что это может привести к росту журнала, может ли происходить то же самое тот же сервер?

SQL2000 SP4, версия STD
Модель полного восстановления

Спасибо заранее, John

Кстати, я понимаю, что изменение моей модели восстановления на Simple может помочь, но я хотел бы знать, почему это происходит в первую очередь.

1 Ответ

0 голосов
/ 19 октября 2008

Я не могу себе представить, почему простой оператор SELECT может добавить что-либо в журнал транзакций, но у меня нет большого опыта работы со связанными серверами, поэтому я не могу точно сказать, что может происходить за кулисами. .

Однако вы говорите: «База данных B имеет несколько представлений и процедур, которые постоянно осуществляют доступ к данным в базе данных A.» объекты, кажется разумным, что эти операции записаны в журнале B.

Но это только предположение с моей стороны. Почему бы вам просто не проверить журнал транзакций напрямую и не посмотреть, кажется ли он разумным? RedGate имеет бесплатный проводник журналов, который работает с SQL 2000 (см. http://www.red -gate.com / products / SQL_Log_Rescue / index.htm ); Я использовал его только один раз, но, похоже, он работал хорошо, и это действительно спасло мой бекон в этом конкретном случае.

Я признаю, что мне любопытно узнать подробности, но в вашей ситуации у меня будет соблазн подавить свое любопытство и просто разобраться с файлом журнала. В конце концов, это просто временно, и если увеличение журнала является артефактом связанных серверов, оно должно исправить себя, как только вы закончите новое приложение и удалите базу данных A.

Кроме того, Годеке сделал хороший вывод о резервном копировании. Если ваш файл журнала становится слишком большим, делайте резервные копии чаще. Резервное копирование сокращает журнал, но только внутри; то есть процент используемого файла журнала будет уменьшаться, но фактический размер файла на диске не изменится, пока вы не используете для этого DBCC SHRINKFILE.

...