![]() |
Проблема с автоувеличением размера базы
Суть в том, что я пришел работать на предприятие, где уже стояла база, поэтому не в курсе предыстории.
В свойствах базы указано автоувеличение на 10%, но когда она заканчивается, ничерта не происходит, и запись данных в нее останавливается. Шеф отымел мне весь мозг, но сколько не бьюсь ничего не могу сделать. Что меня смущает в базе, так это то что на информационном таскбаре базы почему-то указывается, что мол размер базы такой-то, а вот под этой надписью, что свободного места нет. Лог транзакций растет и автоувеличивается без вопросов, а сам файл базы ни в какую, а у меня безостановочное производство и показания датчиков должны записываться в базу раз в 10 секунд. Помогите советом? У меня уже голова пухнет. Забыл добавить, что в других базах и в новосозданных этот параметр свободного места не равен нулю. Добавлю, что размер базы сейчас 40Гб, свободного места на диске где-то 50Гб |
Limon1983, а если попробовать увеличить исходный размер базы? Сколько тогда будет отображаться свободного места? Вообще, гарантированно узнать, сколько свободного места осталось в файле базы, либо в файле логов отдельно можно так... Свойства выбранной базы - Задачи - Сжать - Файлы. И там выбрать нужный файл (сжимать совсем не обязательно :)). Если попробовать затем поставить добавление на фиксированную величину в мегабайтах или просто расширять файл вручную, по мере необходимости, если хорошо прогнозируется рост.
|
Вручную файл базы увеличивали не раз и показатель свободного места не изменялся.
Мысль возникла, что это некая патология, возникшая в процессе администрирования. Ставил и на фиксированное добавление мегабайтов - та же фиговина. Пробовал и сжимать, у меня стоит англ.версия, я так понимаю речь идет о Shrink'е. У нас в службе просто более-менее толковых людей двое, считая меня, но только я работаю посменно (в ночь, днем, утром) и ведется круглосуточное наблюдение за шахтной газовой атмосферой (очень важная инфа). Поэтому если база станет ночером, весь состав утром получит по ... Ситуация жесткая!!! |
Цитата:
Ну, хорошо, а что мешает тогда просто фиксированно увеличить файл базы с запасом, скажем, на 10GB сразу, это должно спасти от забивания файла внезапно ночью. А об истинном размере базы судить, например, по размеру полного бэкапа файла базы. Насколько я понял, несмотря на то, что отображается полная занятость файла при увеличении его размера, запись некоторое время производится, то есть реально место там есть. Вариант 2 - что если создать дополнительный (второй) файл базы, чтобы все новые данные писались туда? |
DoublE_zone, ты б после своих вопросов, постыдился давать советы... Тем более, не уточнив версию продукта!
Limon1983, так о каком SQL речь идёт? ;) |
Busla, всю объективную информацию по своему вопросу (не считая абсолютно разношерстных мнений...) я получил из книжек (еще помог Kim-aa на форуме, подтолкнул к сути проблемы и позволил ее сформулировать более корректно, за что ему РЕСПЕКТ), вопрос по SQL решился благодаря литературе. На основной же мой вопрос: связка sql и 1C при моей проблеме, ВЫ НЕ ОТВЕТИЛИ!
А даю я не советы, а просто размышляю о возможных путях решения (как бы поступил я и на что обратил внимание), именно так, как правило, и находится истинный путь. Так что ваша реплика более, чем не уместна!!! Лучше б помогли в решении проблемы, если есть достаточный опыт. |
Версия 2000.
Я думаю, что DoublE_zone немного меня не понял. Когда в Enterprice Manager нажимаешь на базе левой кнопкой, по умолчанию открывается то ли таскпад, то ли таскбар, никогда не заострял внимания, в котором выведена краткая инфа по базе, разделенная на три части, жаль я седня на работе не был, я б скрин припер. Так вот, в первой (верхней) части указывается размер базы в-общем и кол-во свободного места (у меня показывает 0.00) а в нижней размеры файла базы со свободным местом (показывает правильно) и размер лога (тож никаких проблем). Вот меня смущает этот ноль, хотя по идее он должен показывать сумму свободного места для всех файлов базы. А фиксированно увеличивать тоже не выход, база забиваеться со скоростью (кстати неодинаковой) примерно 300-400 Мб в сутки. Остановка на час, мне выговор. Жуткая история!!! Кстати я уже не добавляю место, а тру старые данные скриптами (300 таблиц, где-то по 200000 строк) и это происходит раз в неделю. |
1) Давайте подитожим информацию:
- Размер базы = 40 ГБ - Размер логфайла = ? - Среднесуточный прирост данных=400 МБ - Среднесуточный прирост лога=? - Максимальный размер таблицы=? Осталось места = 50 Гб На 100 дней в лучшем случае, так выходит? 2) Что касаемо автоматического увеличения размера базы. (Еще раз повторюсь, я очень давно работал с MS SQL 6.x и мои замечания больше теоретические). - Практически во всех RDBMS размер базы и размер файлов базы это разные вещи. Связанные, но разные. - В терминологии MS SQL 6.x файл базы данных это устройство. Устройств для одной базы может быть несколько (обычно их и рекомендуют делать несколько). - Т. е., ситуация как у вас, когда в устройстве/файле место есть, но база данных (сегмент данных) не увеличивается - вполне нормальная, при соответствующей конфигурации базы данных. 3) Хотелось бы получить следующие данные: - Если есть ошибки - приведите их. - У вас OLTP приложение, следовательно индексы должны расти интенсивнее данных. Вполне имеет смысл регулярно перестраивать индексы, используя DBCC DBREINDEX, (особенно при интенсивном использовании кластерных индексов). - Приведите список всех регулярных задач/скриптов которые должны отрабатывать на вашем MS SQL сервере. Посмотрите логи выполнения задач. Вполне может быть какие-то задачи у вас не выполняются. - Раньше информацию о сегментах данных можно было получить выполнив процедуру sp_helpsegment информацию о используемом пространстве можно было получить при помощи sp_spaceused - В MS SQL 6.x стандартными сегментами для любой вновьсозданной базы были: -- logsegment -- default -- system |
Кстати, а книжки умной нет под рукой, ээ?
Благо они и в электронном виде есть, вот например http://www.proklondike.com/contentview.php?content=194 |
Ребят, я щас в коматозном состоянии, вчера собирал друзей дома.
Поэтому расскажу позже как мы пофиксили проблему, выложу скрипт, который помог. Интернета на работе нет и я пишу с дома, тяжелая голова. |
Время: 19:36. |
Время: 19:36.
© OSzone.net 2001-