Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
smm
Member

Откуда:
Сообщений: 193
Всем привет!

Подскажите в чем может быть дело.

Имеем сервер SQL2000 SP4. На нем крутится база (15GB) в режиме FULL и та же есть база TEMPDB (300Mb) с логом TEMPLOG (6MB). TempDB стоит в режиме SIMPLE
Для каждой базы стоит автоинкримент 10% без ограничений

Свободного места на диске 50Гб

У некоторых пользователей были жалобы на зависание при выполнении некоторых отчетов. Причем с одними параметрами отчет выводил данные быстро, а с другими подвисал.

Посмотрел в лог сообщений SQL Servera, Там было системное сообщение
-----------------
Server: Msg 9002, Level 17, State 6, Line 80
The log file for database 'tempdb' is full. Back up the transaction log for the database to free up some log space.
-----------------

Увеличил Лог файл с 6Мб до 10Мб через
ALTER DATABASE tempdb MODIFY FILE (NAME=templog SIZE=10MB)

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

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

Заранее спасибки.
5 окт 12, 10:09    [13271744]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
6мб, 10 мб - вообще ни о чем. И если бы был автоинкримент для лога, у вас бы не было ошибки.
5 окт 12, 10:11    [13271755]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
что мешает сделать начальным размером лога tempdb хотя бы 500Мб ? Жадность до свободного дискового пространства ? Или желание досадить пользователя автоинкриментом, чтобы жизнь мёдом не казалась ?
5 окт 12, 10:24    [13271871]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
smm
Member

Откуда:
Сообщений: 193
to Гавриленко Сергей Алексеевич

Посмотрел, данную базу перезагружали последний раз полгода назад и в течении полугода данной ошибки не было, т.е. размера лога 6-10 Мб ей для текущей работы вполне хватало, тем более в настройках темплога СТОИТ автоинкримент 10% по дефолту.

to stavgreengo

Да ничего не мешает, наверное поставлю для начала 300Мб

Интересует сам вопрос:
по какой причине возникла ошибка о заполнении лога и что ему помешало дальше расти, ведь автоинкримент стоит? Или дефолтный автоинкримент не всегда срабатывает.
5 окт 12, 11:00    [13272227]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
DNAsh
Member

Откуда: Ukraine
Сообщений: 11
smm
<<...skiped
to stavgreengo

Да ничего не мешает, наверное поставлю для начала 300Мб

Интересует сам вопрос:
по какой причине возникла ошибка о заполнении лога и что ему помешало дальше расти, ведь автоинкримент стоит? Или дефолтный автоинкримент не всегда срабатывает.

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

"Лучше знать лишнее, чем ничего не знать" (с)

Сообщение было отредактировано: 5 окт 12, 12:20
5 окт 12, 11:17    [13272387]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
DNAsh,

Уберите, пожалуйста, ваш мерзкий баннер из автоподписи.
5 окт 12, 12:21    [13273054]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
smm
Member

Откуда:
Сообщений: 193
to DNAsh

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

Можно ли как-то проверить вашу версию? Честно говоря всегда полагал, что дисковые операции операционной системой строятся в очередь и последовательно исполняются, но не вырубают по тайм-ауту.
5 окт 12, 12:26    [13273123]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
Centraloff
Member

Откуда: Екатеринбург
Сообщений: 140
smm,

А вы не думаете что вы можете ждать дольше выполнения операции, чем приложение которому требуется место в tempdb.
5 окт 12, 13:42    [13273821]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
smm
to DNAsh

Думаю конкуренция за диск там не такая большая, ведь она мне сразу позволила увеличить лог-файл с 6 до 10Мб


Думаю, 10 МБ - это не объём для нормального отчёта.
5 окт 12, 13:59    [13273955]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
вообще по хорошему надо отследить тенденцию на использование дискового пространства базой tempdb файлами данных и логом при рабочей нагрузке в течении хотя бы 3-5 дней, накинуть где-то 10% к пиковым значениям, определить на основе результатов минимальные значения размеров для этих файлов и забыть о каких либо проблемах с этим.
5 окт 12, 14:49    [13274341]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
stavgreengo
вообще по хорошему надо отследить тенденцию на использование дискового пространства базой tempdb файлами данных и логом при рабочей нагрузке в течении хотя бы 3-5 дней, накинуть где-то 10% к пиковым значениям, определить на основе результатов минимальные значения размеров для этих файлов и забыть о каких либо проблемах с этим.


Не факт. Объёмы данных и отчёты, как правило, всё время растут. Нужно x 2.
5 окт 12, 15:02    [13274434]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
smm
Member

Откуда:
Сообщений: 193
Товарищи,

меня интересует не то, какой размер лога установить (сейчас там поставил 300Mb)

А то, ПОЧЕМУ ЛОГ НЕ УВЕЛИЧИЛСЯ, когда это потребовалось? Что ему ПОМЕШАЛО?
5 окт 12, 15:37    [13274728]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
smm
Свободного места на диске 50Гб

Старенький страшненький Г-комп, на котором работают много юзверей. Запросто эти 50 Г могли уйти в ноль.
Купи нормальный комп с 2ТБ диском
5 окт 12, 15:43    [13274782]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
smm
Member

Откуда:
Сообщений: 193
to defragmentator

Если, честно, то я этот сервак даже в глаза не видел и даже не знаю где он находится и что он из себя представляет.

А по поводу свободного места на диске, то еще раз повторю:
"Когда пошло это сообщение об ошибке, то размер лог файла был 6Мб и свободного места на диске 50Гб"

Какие версии у общественности?

PS:
Автоинкримент есть, свободное место на диске есть, темпбаза в режими SIMPLE, а при выполнении отчета у пользователя прога подвисает. Правда через час все стало нормально и ошибка пропала.
5 окт 12, 16:09    [13275019]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
smm
to defragmentator
"Когда пошло это сообщение об ошибке, то размер лог файла был 6Мб и свободного места на диске 50Гб"


Ты всё время смотришь туда, что ли?
Кто нибудь развлекался, фильмы перекачивал через него. На минуту отъел свободное место, этого достаточно, чтобы сервак встал намертво.
5 окт 12, 16:16    [13275094]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
defragmentator
smm
Свободного места на диске 50Гб

Старенький страшненький Г-комп, на котором работают много юзверей. Запросто эти 50 Г могли уйти в ноль.
Купи нормальный комп с 2ТБ диском
Да ладно. У нас на сервере нет ни одного диска размером в 2 ТБ. Он тоже старенький страшненький говнокомп?

Может хватит уже чушь нести?
5 окт 12, 16:24    [13275189]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
smm
Member

Откуда:
Сообщений: 193
Когда с этой проблемой стал разбираться и попросил пользователя еще раз запустить отчет, то посмотрел на свободное место и размер самого лога перед запуском отчета и после запуска. Значения не изменились. Тут наверное не в свободном месте проблема, а в чем-то другом.
5 окт 12, 16:25    [13275195]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
Гавриленко Сергей Алексеевич,

у меня рабочая станция с диском 2ТБ.
5 окт 12, 16:35    [13275280]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
defragmentator
Гавриленко Сергей Алексеевич,

у меня рабочая станция с диском 2ТБ.
И у меня рабочая станция с диском 2 Тб. Я не про нее спрашивал.
5 окт 12, 16:36    [13275293]     Ответить | Цитировать Сообщить модератору
 Re: Сообщение на SQL2000 'The log file for database 'tempdb' is full. ...'  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
smm,

может, просто комп тормозной?
Тут уже писали выше, что очередь к диску может не успевать все запросы обрабатывать вовремя.
Проанализируйте ещё нагрузку на диск, насколько он загружен. В винде для этого есть стандартные средства.
5 окт 12, 16:38    [13275317]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить