Страница 1 из 1

База Галактики выросла в размере?

Добавлено: 28 окт 2013, 15:29
zeha_t
Добрый день!
Подскажите, как быть: был в отпуске 2 недели, прихожу и вижу что галактоидная база выросла на 100 Гб :eek: , места на диске почти не осталось, до этого роста "любимой" не было замечено, у кого-нибудь было такое?
Буду благодарен за помощь и советы :oops:

Re: База Галактики выросла в размере?

Добавлено: 28 окт 2013, 15:52
zeha_t
Немного уточнений: СУБД - MS SQL Server 2008 R2. Модель восстановления базы данных - простая. Размер базы вырос с 238 Гб до 358 Гб (само собой пользователи - не могли залить стоко инфы). Версия Галактики 8.10, патчится регулярно, бэкапится раз в сутки. Ну как то так...

Re: База Галактики выросла в размере?

Добавлено: 28 окт 2013, 17:44
Den
Раз никто не хочет признаваться в содеянном, можно попробовать написать скрипт mssql который будет казать по таблам БД статистику вроде :

table reserved data index_size unused

spsopr
saldomc
....

в рабочей нынешней БД и в баке до Вашего отпуска. Тогда может быть увидите за чем чего подросло. Может еще сам скуль отожрал одномоментно дисковое пространство в рамках процента прироста выставленного ?

Re: База Галактики выросла в размере?

Добавлено: 28 окт 2013, 18:16
Polimer
Ошибок в скуле нет?
Однажды было такое, база стала прирастать на 1-2 гб в день(у нас база в 2 раза меньше вашей). Оказалось ошибка в схеме скуля. С помощью dbcc checkdb repair удалось победить прирост базы, но полностью ошибка не ушла. В итоге на НГ сделал конвертацию 8.10-8.10 в новую базу.

Re: База Галактики выросла в размере?

Добавлено: 28 окт 2013, 18:29
zeha_t
Den писал(а):Раз никто не хочет признаваться в содеянном, можно попробовать написать скрипт mssql который будет казать по таблам БД статистику вроде :

table reserved data index_size unused

spsopr
saldomc
....

в рабочей нынешней БД и в баке до Вашего отпуска. Тогда может быть увидите за чем чего подросло. Может еще сам скуль отожрал одномоментно дисковое пространство в рамках процента прироста выставленного ?
Дело то как раз в том что типа никто ничего не делал, а по факту имеем: тестовую базу и боевую - каждая из них распухла на 120 Гб, причём с тестовой работают токо програмеры. На данный момент есть 2 основные версии :razz: : 1) Програмеры чёто намудрили сначала в тестовой, типа для проверки (обычная практика), потом всё это проделали на продуктиве - в итоге имеем 2 раздутые базы и минимум дискового пространства, но программеры божаться что ничё не делали и вторая версия 2) Стал расти журнал транзакций (журнал на каждой базе вырос до 100Гб), может и так, но тут у меня ещё больше вопросов, 1,5 года не рос, а тут раз и вырос и причём одновременно на двух разных серверах, да с простой моделью восстановления...

Den, насчёт статистики по таблам мысль, надо покапать как это сделать (увы, я начинающий админ БД, пока трудновато), если можете обьяснить по подробнее, буду рад)

Re: База Галактики выросла в размере?

Добавлено: 28 окт 2013, 18:37
zeha_t
Polimer писал(а):Ошибок в скуле нет?
Однажды было такое, база стала прирастать на 1-2 гб в день(у нас база в 2 раза меньше вашей). Оказалось ошибка в схеме скуля. С помощью dbcc checkdb repair удалось победить прирост базы, но полностью ошибка не ушла. В итоге на НГ сделал конвертацию 8.10-8.10 в новую базу.
Ошибок в скуле не замечено. Всё работает как часы.
И ещё одна печалька блин - до отпуска всё приготовил для перехода на 9, вышел и на тебе - 360Гб, из которых 100 Гб скорее всего хлама :mad:

Re: База Галактики выросла в размере?

Добавлено: 28 окт 2013, 19:04
Den

Код: Выделить всё

DBCC UPDATEUSAGE (0)

if exists (select * from information_schema.tables where table_name = 'tmp_info') drop table tmp_info 
declare c_tables cursor for select table_name from information_schema.tables where table_type = 'BASE TABLE' and table_schema = 'dbo' --and table_name='t$hashan'
declare @tname varchar(100)
create table tmp_info (name varchar(100), rows int, reserved varchar(100), data varchar(100), index_size varchar(100), unused varchar(100))
open c_tables
  fetch next from c_tables into @tname
  while @@fetch_status = 0 begin
    insert into tmp_info exec sp_spaceused @tname
    fetch next from c_tables into @tname
  end
close c_tables
deallocate c_tables

select * from tmp_info 
     order by cast(replace(reserved, 'kb', '') as integer) desc

только ,как я с казал, лучше результаты выполнения этого скрипта сравнивать на БД прежней и текущей...если у Вас не осталось уже прежнего бака БД, где размер был меньший гораздо, то плохо..

Re: База Галактики выросла в размере?

Добавлено: 28 окт 2013, 23:47
edward_K
Плохо что не знаете что именно - надо бы архив поднять, галку на нем стартовать не нужно. Для начал проверяете размер файлов - что увеличилось- база, индексы, журнал, лог.да и посмотрите сколько там свободного места. Если лог то SQL иногда перестает сжимать лог и помогает только перегрузка. Мож какая работа стопорнулась. Если индексы то может делали перестройку и она не прошла. Если база то тут надо смотреть какие именно таблицы. Посмотрите tempdb мож кто то включил моментальные снимки системы.

Re: База Галактики выросла в размере?

Добавлено: 29 окт 2013, 11:10
zeha_t
Всем спасибо за советы...примерно так и предполагал. Бэкап есть на ленточке, выдернуть и восстановить не проблема. Пока что выяснил какого числа произошёл прирост обеих баз данных...в этот день особого ничего не происходило, разве что - TXO SQL установили...
Ещё раз благодарю за помощь :razz: