MSFT SQL Server - Проблема с автоувеличением размера базы

Ответить
Аватара пользователя
Limon1983

MSFT SQL Server - Проблема с автоувеличением размера базы

Сообщение Limon1983 »

Суть в том, что я пришел работать на предприятие, где уже стояла база, поэтому не в курсе предыстории.

В свойствах базы указано автоувеличение на 10%, но когда она заканчивается, ничерта не происходит, и запись данных в нее останавливается.

Шеф отымел мне весь мозг, но сколько не бьюсь ничего не могу сделать.

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

Лог транзакций растет и автоувеличивается без вопросов, а сам файл базы ни в какую, а у меня безостановочное производство и показания датчиков должны записываться в базу раз в 10 секунд.

Помогите советом? У меня уже голова пухнет.



Забыл добавить, что в других базах и в новосозданных этот параметр свободного места не равен нулю.

Добавлю, что размер базы сейчас 40Гб, свободного места на диске где-то 50Гб
Аватара пользователя
DoublE_zone

Re: MSFT SQL Server - Проблема с автоувеличением размера базы

Сообщение DoublE_zone »

Limon1983, а если попробовать увеличить исходный размер базы? Сколько тогда будет отображаться свободного места? Вообще, гарантированно узнать, сколько свободного места осталось в файле базы, либо в файле логов отдельно можно так... Свойства выбранной базы - Задачи - Сжать - Файлы. И там выбрать нужный файл (сжимать совсем не обязательно Изображение). Если попробовать затем поставить добавление на фиксированную величину в мегабайтах или просто расширять файл вручную, по мере необходимости, если хорошо прогнозируется рост.
Аватара пользователя
Limon1983

Re: MSFT SQL Server - Проблема с автоувеличением размера базы

Сообщение Limon1983 »

Вручную файл базы увеличивали не раз и показатель свободного места не изменялся.

Мысль возникла, что это некая патология, возникшая в процессе администрирования.

Ставил и на фиксированное добавление мегабайтов - та же фиговина.

Пробовал и сжимать, у меня стоит англ.версия, я так понимаю речь идет о Shrink'е.

У нас в службе просто более-менее толковых людей двое, считая меня, но только я работаю посменно (в ночь, днем, утром) и ведется круглосуточное наблюдение за шахтной газовой атмосферой (очень важная инфа).

Поэтому если база станет ночером, весь состав утром получит по ...

Ситуация жесткая!!!
Аватара пользователя
DoublE_zone

Re: MSFT SQL Server - Проблема с автоувеличением размера базы

Сообщение DoublE_zone »

Цитата Limon1983:



Мысль возникла, что это некая патология, возникшая в процессе администрирования.
MSFT SQL Server - Проблема с автоувеличением размера базы




да уж, ситуация явно не типичная.... Изображение

Ну, хорошо, а что мешает тогда просто фиксированно увеличить файл базы с запасом, скажем, на 10GB сразу, это должно спасти от забивания файла внезапно ночью. А об истинном размере базы судить, например, по размеру полного бэкапа файла базы. Насколько я понял, несмотря на то, что отображается полная занятость файла при увеличении его размера, запись некоторое время производится, то есть реально место там есть.

Вариант 2 - что если создать дополнительный (второй) файл базы, чтобы все новые данные писались туда?
Аватара пользователя
Busla

Re: MSFT SQL Server - Проблема с автоувеличением размера базы

Сообщение Busla »

DoublE_zone, ты б после
MSFT SQL Server - [решено] Обрезаем файл транзакций логов...
, постыдился давать советы... Тем более, не уточнив версию продукта!



Limon1983, так о каком SQL речь идёт? Изображение
Аватара пользователя
Busla

Re: MSFT SQL Server - Проблема с автоувеличением размера базы

Сообщение Busla »

Busla, всю объективную информацию по своему вопросу (не считая абсолютно разношерстных мнений...) я получил из книжек (еще помог Kim-aa на форуме, подтолкнул к сути проблемы и позволил ее сформулировать более корректно, за что ему РЕСПЕКТ), вопрос по SQL решился благодаря литературе. На основной же мой вопрос: связка sql и 1C при моей проблеме, ВЫ НЕ ОТВЕТИЛИ!

А даю я не советы, а просто размышляю о возможных путях решения (как бы поступил я и на что обратил внимание), именно так, как правило, и находится истинный путь.

Так что ваша реплика более, чем не уместна!!! Лучше б помогли в решении проблемы, если есть достаточный опыт.
Аватара пользователя
Limon1983

Re: MSFT SQL Server - Проблема с автоувеличением размера базы

Сообщение Limon1983 »

Версия 2000.

Я думаю, что DoublE_zone немного меня не понял.

Когда в Enterprice Manager нажимаешь на базе левой кнопкой, по умолчанию открывается то ли таскпад, то ли таскбар, никогда не заострял внимания, в котором выведена краткая инфа по базе, разделенная на три части, жаль я седня на работе не был, я б скрин припер.

Так вот, в первой (верхней) части указывается размер базы в-общем и кол-во свободного места (у меня показывает 0.00)

а в нижней размеры файла базы со свободным местом (показывает правильно) и размер лога (тож никаких проблем).

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

А фиксированно увеличивать тоже не выход, база забиваеться со скоростью (кстати неодинаковой) примерно 300-400 Мб в сутки. Остановка на час, мне выговор. Жуткая история!!!

Кстати я уже не добавляю место, а тру старые данные скриптами (300 таблиц, где-то по 200000 строк) и это происходит раз в неделю.
Аватара пользователя
kim-aa

Re: MSFT SQL Server - Проблема с автоувеличением размера базы

Сообщение kim-aa »

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
Аватара пользователя
kim-aa

Re: MSFT SQL Server - Проблема с автоувеличением размера базы

Сообщение kim-aa »

Кстати, а книжки умной нет под рукой, ээ?

Благо они и в электронном виде есть, вот например

http://www.proklondike.com/contentview.php?content=194
Аватара пользователя
Limon1983

Re: MSFT SQL Server - Проблема с автоувеличением размера базы

Сообщение Limon1983 »

Ребят, я щас в коматозном состоянии, вчера собирал друзей дома.

Поэтому расскажу позже как мы пофиксили проблему, выложу скрипт, который помог.

Интернета на работе нет и я пишу с дома, тяжелая голова.
Ответить

Вернуться в «Программирование и базы данных»