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

Откуда:
Сообщений: 375
не понимаю, что происходит с базой
мои шаги:
1. создал новую базу
2. скопировал в нее таблицы фактов (8шт, в каждой примерно по 10млн записей) и несколько справочников (DTS, Copy objects). Все из соседней базы.
3. во всех этих т.фактов ОДНО поле приравнял к NULL, а затем заполнил id'шниками одного из справочников.

После всего этого размер базы стал 3.3Гб, а размер лога 20.7Гб. Вся база весит 24Гб, при этом space available 680Мб.
Сделал бекап базы, лог не уменьшился. Перевел базу из Bulk-logged в Simple и опять сделал бекап. Результат тот же. При этом флажок "Remove inactive entries from transaction log" был отмечен.
Почему не подчистился лог? Как я понимаю, все записи об изменениях из лога должны были "перенестись" в саму базу.

ПС. Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
4 дек 09, 02:44    [8017353]     Ответить | Цитировать Сообщить модератору
 Re: рост базы  [new]
Voice2001
Member

Откуда:
Сообщений: 375
запустил exec sp_spaceused 'т.фактов'
получил:
namerowsreserveddataindex_sizeunused
т.фактов1999000746768 KB362280 KB360992 KB23496 KB

почему reserved такой большой?
зы. с кол-вом записей в каждой т.фактов ошибся - там не по 10млн, а примерно по 1-3млн
4 дек 09, 03:06    [8017356]     Ответить | Цитировать Сообщить модератору
 Re: рост базы  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Voice2001,

ТОП 10 самых популярных вопросов, п.1 ?
4 дек 09, 04:37    [8017371]     Ответить | Цитировать Сообщить модератору
 Re: рост базы  [new]
Voice2001
Member

Откуда:
Сообщений: 375
угу, я в курсе, читал
меня интересует не "как быстро сжать базу", а "почему так происходит"
4 дек 09, 05:04    [8017378]     Ответить | Цитировать Сообщить модератору
 Re: рост базы  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Voice2001,

"почему растет лог" или "почему после создания резервной копии БД размер файла лога не уменьшился"?
или оба?
4 дек 09, 07:06    [8017443]     Ответить | Цитировать Сообщить модератору
 Re: рост базы  [new]
Voice2001
Member

Откуда:
Сообщений: 375
locky, скорее второе
и почему такой большой reserved у таблицы? для чего ей это?
ПС. во всем этом деле я не эксперт, весь ТОП10 прочитал и по ссылкам полазил, и в БОЛе тоже поковырялся. Понятно было не все, остались вопросы, поэтому пишу здесь
4 дек 09, 11:16    [8018566]     Ответить | Цитировать Сообщить модератору
 Re: рост базы  [new]
Glory
Member

Откуда:
Сообщений: 104760
Voice2001
locky, скорее второе
и почему такой большой reserved у таблицы? для чего ей это?
ПС. во всем этом деле я не эксперт, весь ТОП10 прочитал и по ссылкам полазил, и в БОЛе тоже поковырялся. Понятно было не все, остались вопросы, поэтому пишу здесь

А что непонятного то ?
reserved = data + index_size + unused
746768 KB = 362280 KB + 360992 KB + 23496 KB
4 дек 09, 13:29    [8019685]     Ответить | Цитировать Сообщить модератору
 Re: рост базы  [new]
Voice2001
Member

Откуда:
Сообщений: 375
вот теперь понятно, спасибо, Glory.
Думал, reserved - это зарезервированное место подо что-либо, типа незанятое.
4 дек 09, 14:27    [8020227]     Ответить | Цитировать Сообщить модератору
 Re: рост базы  [new]
Voice2001
Member

Откуда:
Сообщений: 375
это нормально, что
exec sp_spaceused @updateusage = N'TRUE'
для базы, описанной выше, выполняется уже 23 часа?
ее можно как-то завершить и чем это грозит?
5 дек 09, 02:13    [8023541]     Ответить | Цитировать Сообщить модератору
 Re: рост базы  [new]
Voice2001
Member

Откуда:
Сообщений: 375
Оказывается в QA запустил процедуру, она завершилась с ошибкой (типа курсор уже открыт). Потом еще раз запустил, все прошло нормально.
Потом стал бекапить базу и всячески ее сжимать (все что выше написал).
sp_spaceused работала 35 часов, завершил ее. Потом запустил шринкование, работало полтора часа без результатов. Тоже вырубил.
Решил убить базу и создать снова - так быстрее, чем пытаться освободить место под выполнение задач. База из Enterprise manager'а не удалилась и написала, что она используется. Стал закрывать QA, он спросил, не откатить ли незавершенную транзакцию (???). Сказал не надо, и он ее похоже завершил.
После этого база за секунду отшринковалась и все стало нормально. Т.е.проблема была в повисшей в QA транзакции.
5 дек 09, 16:31    [8024164]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить