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

Откуда:
Сообщений: 46
Добрый день.
Подскажите как себя ведет MS SQL когда на диске заканчивается место под базу данных? Возможно поведение разное в зависимости от версии.
Не нашел адекватного ответа, поэтому спрашиваю может кто знает точно.
Кто говорит что разрушается база, кто говорит, что почистили, рестартанули сервер и все ок.
В доках не нашел ответа, возможно плохо искал.
Или в движке не заложено поведение на это событие и тогда "как бог пошлет".
Например в exchange базы просто отмонтируются и ничего страшного не случается.
19 окт 18, 12:24    [21708894]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36694
Когда заканчивается место, сервер услужливо сообщает всем писателям, что не может больше ничего записать.

Чуть сложнее может быть в ситуации, когда нет места еще и под журнал транзакций -- если журнал по какой-то причине не получается усечь, то ничего и почистить не удастся.
19 окт 18, 12:31    [21708911]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
Glebanski
Member

Откуда: Msk ->NL
Сообщений: 306
Евгений.,

Сделайте базу с MaxSize в пару мегабайт, ну и поставьте ограничение на размер tempdb до кучи. Ну и посмотрите что будет с вашими инсертами и запросами.
19 окт 18, 12:35    [21708919]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
Евгений.
Member

Откуда:
Сообщений: 46
Т.е. статус базы никак не меняется, а просто сыпет сообщения клиентом о невозможности записать?
А как то можно идентифицировать что база находится в не рабочем состоянии, или только по анализам логов?
19 окт 18, 12:38    [21708932]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36694
Евгений.
Т.е. статус базы никак не меняется, а просто сыпет сообщения клиентом о невозможности записать?
Не меняется статус.
Евгений.
А как то можно идентифицировать что база находится в не рабочем состоянии, или только по анализам логов?
Ну, мониторинг еще можно настроить какой-нибудь, чтобы узнавать до того, как место закончилось, а не после.
19 окт 18, 12:40    [21708937]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
Евгений.
Member

Откуда:
Сообщений: 46
Glebanski
Евгений.,

Сделайте базу с MaxSize в пару мегабайт, ну и поставьте ограничение на размер tempdb до кучи. Ну и посмотрите что будет с вашими инсертами и запросами.

Ну это мне нужно будет развернуть сервак, поставить на него разные версии MS SQL, провести тесты, а это вероятно убить не 1 час времени.
Если есть возможность получить ответ быстрее от знающих людей, то почему бы не воспользоваться этим.
19 окт 18, 12:42    [21708942]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
Евгений.
Member

Откуда:
Сообщений: 46
Гавриленко Сергей Алексеевич
Евгений.
Т.е. статус базы никак не меняется, а просто сыпет сообщения клиентом о невозможности записать?
Не меняется статус.
Евгений.
А как то можно идентифицировать что база находится в не рабочем состоянии, или только по анализам логов?
Ну, мониторинг еще можно настроить какой-нибудь, чтобы узнавать до того, как место закончилось, а не после.


Мне в итоге нужно максимально точно считать SLA для базы данных, а это только именно когда она реально отказывает в обслуживании клиентам.
Т.е. на закончившееся место на диске нельзя полагаться, т.к. база может расшириться, место съесть и при этом еще функционировать неограниченно долго.
19 окт 18, 12:45    [21708951]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36694
Можно мониторить не только свободное место на диске, но и свободное место в файлах.
19 окт 18, 12:47    [21708955]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Евгений.,

запросы изменений будут валится в ошибку.

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

ну окидывается файл под лог туда где есть место и по старой схеме
19 окт 18, 12:48    [21708956]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
Евгений.
Member

Откуда:
Сообщений: 46
Гавриленко Сергей Алексеевич
Можно мониторить не только свободное место на диске, но и свободное место в файлах.

Вероятно придется, но встает еще вопрос. Какой уровень свободного места в базе будут сигнализировать о том, что база отказывает клиентам в обслуживании, ведь 100% заполенности полагаю не может быть в принципе.

Вероятнее всего для решения моей задачи придется парсить логи на определенные ошибки, которые точно сигнализируют о том, что база не работает и еще придется проверять а работает ли запись в этот лог.
19 окт 18, 12:56    [21708979]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Евгений.
Гавриленко Сергей Алексеевич
Можно мониторить не только свободное место на диске, но и свободное место в файлах.

Вероятно придется, но встает еще вопрос. Какой уровень свободного места в базе будут сигнализировать о том, что база отказывает клиентам в обслуживании, ведь 100% заполенности полагаю не может быть в принципе.

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

Ну, наверное, смотрите на параметр автоприращения базы и лога, если места меньше осталось чем это, значить файл не получится прирастить. Если размеры(максимум) фиксированные, то смотреть на оставшееся место в файлах
19 окт 18, 13:04    [21709000]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
Евгений.
Member

Откуда:
Сообщений: 46
TaPaK
Ну, наверное, смотрите на параметр автоприращения базы и лога, если места меньше осталось чем это, значить файл не получится прирастить. Если размеры(максимум) фиксированные, то смотреть на оставшееся место в файлах


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

Скорее всего нужно мониторить только логи и работает ли система логирования.
19 окт 18, 13:15    [21709028]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Евгений.,

автор
А вдруг клиенты делают только select запросы в базу

ну тут может устать tempdb
19 окт 18, 13:56    [21709099]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Евгений.
а с чего я взял, что закончившееся место в базе приводит к отказу клиентам. А вдруг клиенты делают только select запросы в базу.

А Вы под клиентами понимаете людей-пользователей или всех, включая служебное ПО? Разнообразные загрузки из других источников в базу, ребилды индексов и прочее...Люди то могут делать только селекты и всячески Вам об этом говорить, но это не гарантия, что в базе выполняются только селекты.
19 окт 18, 14:04    [21709112]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
Евгений.
Member

Откуда:
Сообщений: 46
Andy_OLAP
Евгений.
а с чего я взял, что закончившееся место в базе приводит к отказу клиентам. А вдруг клиенты делают только select запросы в базу.

А Вы под клиентами понимаете людей-пользователей или всех, включая служебное ПО? Разнообразные загрузки из других источников в базу, ребилды индексов и прочее...Люди то могут делать только селекты и всячески Вам об этом говорить, но это не гарантия, что в базе выполняются только селекты.


В конечном итоге мне надо определить максимально точно момент, когда база отказала в обслуживании кому угодно по любой из причин.
19 окт 18, 14:32    [21709191]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
Евгений.
Member

Откуда:
Сообщений: 46
TaPaK
Евгений.,

автор
А вдруг клиенты делают только select запросы в базу

ну тут может устать tempdb


Могу ошибаться, но как я вижу на реальной базе, tempdb вполне себе функционирует довольно долго в условиях отсутствия свободного места. Т.е. там есть механизм самоочистки. Понимаю что из-за этого может быть падение производительности, но отказа в обслуживании не случается.
19 окт 18, 14:38    [21709198]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Евгений.
TaPaK
Евгений.,

пропущено...

ну тут может устать tempdb


Могу ошибаться, но как я вижу на реальной базе, tempdb вполне себе функционирует довольно долго в условиях отсутствия свободного места. Т.е. там есть механизм самоочистки. Понимаю что из-за этого может быть падение производительности, но отказа в обслуживании не случается.


Ох, и эти люди пишут SLA
19 окт 18, 14:43    [21709203]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
Евгений.
Member

Откуда:
Сообщений: 46
TaPaK
Ох, и эти люди пишут SLA


А я не прав? :)
19 окт 18, 14:44    [21709206]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
Евгений.
Member

Откуда:
Сообщений: 46
Евгений.
TaPaK
Ох, и эти люди пишут SLA


А я не прав? :)


Ну и это для внутреннего использования, а не для внешних клиентов.
А оценка производительности, это отдельная более сложная тема.
19 окт 18, 14:53    [21709217]     Ответить | Цитировать Сообщить модератору
 Re: Поведение MS SQL когда заканчивается место на диске?  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Евгений.
В конечном итоге мне надо определить максимально точно момент, когда база отказала в обслуживании кому угодно по любой из причин.
То есть предотвратить такую банальную причину отказа как нехватка места на диске у вас желания не возникает?
Евгений.
Ну и это для внутреннего использования, а не для внешних клиентов.
Внешними клиентами то хоть у вас ДБА занимается?
19 окт 18, 23:25    [21709600]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить