Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 MS SQL 2000 - аномально растет темпдб  [new]
dk999
Member

Откуда: Россия, Екатеринбург
Сообщений: 27
Исходные
1с 77, 350 гб, MS SQL 2000, центральная база (3-5 юзеров + ежедневное формирование отчетов)
в среду тембпдб был 350 гб, обрезал до 1 гб + ребутнул сервер скульный
сегодня темпдб снова 350 гб - за 4 дня
Пользователи на ночь выходят из 1с
есть узел этой базы - там темп дб 80 гб и не растет, хотя там пользователей за 100ку
----------
1. Как посмотреть что там такого лежит?
2. Почему после завершения сеанса, скуль не чистит временные таблицы этого сеанса?
30 май 17, 12:03    [20522750]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
aleks2
Guest
dk999
Исходные
1с 77, 350 гб, MS SQL 2000, центральная база (3-5 юзеров + ежедневное формирование отчетов)
в среду тембпдб был 350 гб, обрезал до 1 гб + ребутнул сервер скульный
сегодня темпдб снова 350 гб - за 4 дня
Пользователи на ночь выходят из 1с
есть узел этой базы - там темп дб 80 гб и не растет, хотя там пользователей за 100ку
----------
1. Как посмотреть что там такого лежит?
2. Почему после завершения сеанса, скуль не чистит временные таблицы этого сеанса?


1. Нафига те? А так-то, как в обычной базе "посмотреть".
2. MS SQL никогда не уменьшает размеры базы по собственной инициативе.

ЗЫ. Оставь обрезание явреям и обратись в истинную, православную веру.
Не режь.
Железяка упертей.
30 май 17, 12:41    [20522941]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
dk999
Member

Откуда: Россия, Екатеринбург
Сообщений: 27
Дык место заканчивается
не ребутать же каждый день сервер
30 май 17, 12:47    [20522980]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30768
dk999
Дык место заканчивается
не ребутать же каждый день сервер
Так посмотрите, что там лежит. Если ничего, тогда сохраняйте список раз в 10 минут.
Когда найдёте, что так сильно "распирает" tempdb, то уже можно искать причину, источник.
Видимо, что то меняли в конфиге 1С, добавили какие то отчёты или расчёты, и это требует много места (например, ошиблись в запросе, и получился кросс-джойн).
30 май 17, 14:59    [20523780]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
dk999
Дык место заканчивается
не ребутать же каждый день сервер
Какая до боли знакомая тема... :)
Для обрезки темпДБ не нужно ребутать сервер. Достаточно в небизнес-время
запустить:

dbcc shrinkfile ('templog')

и
несколько раз с убывающим значением ххх
dbcc shrinkfile ('tempdev',ххх)

где ххх - размер в мегабайтах. Например для темпДБ 200Гб будет ххх=200000.
Начинать с 90% текущего размера файла и уменьшать до 10%.

Если выдаст ошибку, значит данных в темпДБ сейчас больше чем заявленный ххх-размер.
Юзерам выходить не нужно. Но мощные обработки/отчеты могут мешать.
Иногда выполняет нормально, но размер не уменьшается (в зоне урезки успевают появляться новые данные). Попробуйте чуть позже.

зы: пару раз в мес приходится такое делать.
Сраная 1С ну сильно полюбляет что-то строить в темпДБ. :)
Обычно рост провоцируют тяжелые отчеты или обработки.
30 май 17, 15:53    [20524110]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
dk999
Member

Откуда: Россия, Екатеринбург
Сообщений: 27
да, пока шринк по утрам настроил, но я так понимаю это нештатное решение
Штатно темпдб как то должен сжиматься без перезагрузки и без принудительного шринка
31 май 17, 12:37    [20526925]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5162
dk999
Штатно темпдб как то должен сжиматься без перезагрузки и без принудительного шринка


зачем ей "штатно" сжиматься, если она должна соответствовать аппетитам пользовательских запросов?
если нужно в темпдб 200ГБ для отработки запроса, то бессмысленно её потом резать - ты режешь, она растет, а страдает пользователь, который ждет каждый раз, пока файл темпдб отрастет в соответствии с потребностями запроса.
31 май 17, 12:46    [20526979]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30768
dk999
Штатно темпдб как то должен сжиматься без перезагрузки и без принудительного шринка
Штатно он не сжимается, потому что это бесполезная и нагружающая операция.
Зачем сжимать, если он на следующий день вырастет? Что вы хотите от этого получить, какой профит для бизнеса? Дисковое пространство уменьшить? Не выйдет, будет ошибка, когда темпдб вырастет.

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

А если темпдб вырастает каждый день до ненормальных значений (намного больше размера базы), то нужно найти этот постоянный косяк, о чём вам уже говорили..
31 май 17, 12:48    [20526985]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
dk999
Member

Откуда: Россия, Екатеринбург
Сообщений: 27
Что значит не должен сжиматься?
Если я каждый день туда кладу табличку #Тест с 1 млн записей и drop table #Тест делаю, то темпдб так и будет расти до бесконечности до перезагрузки?
31 май 17, 12:58    [20527059]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30768
dk999
Если я каждый день туда кладу табличку #Тест с 1 млн записей и drop table #Тест делаю, то темпдб так и будет расти до бесконечности до перезагрузки?
Нет, он не будет расти, даже если раз в секунду создавать и дропать гигабайтную табличку. Он так и будет сохранять размер в 1 гигабайт.
31 май 17, 13:15    [20527135]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30768
dk999
Что значит не должен сжиматься?
Если я каждый день туда кладу табличку #Тест с 1 млн записей и drop table #Тест делаю, то темпдб так и будет расти до бесконечности до перезагрузки?
У вас же диск не кончится, если постоянно создавать и удалять большие файлы?
Вот файл базы данных - это диск для СУБД.
Если объект удаляется, то это место освобождается и может использоваться дальше.
Исключение - лог файл для пользовательских баз, но к темпдб это не относится.
31 май 17, 13:17    [20527148]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
alexeyvg
Нет, он не будет расти, даже если раз в секунду создавать и дропать гигабайтную табличку. Он так и будет сохранять размер в 1 гигабайт.
Все верно. Но...
Я у себя наблюдаю другую картину с 1С8 (мсскл2008р2).
ТемпДБ время от времени разрастается на весь диск. Большой.
И приходится проделывать вышесказанное. Грешить на "залипшие" транзакции, "утечку дисковой памяти" ? Ну хз.
Возможно это кривизна 1С кода (полностью кастомная конфа). Кода очень много, пользователей тоже.
1С работает с большой нагрузкой, но штатно. Истинную причину найти пока не удалось.
31 май 17, 15:49    [20527900]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
Владислав Колосов
Member

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

у вас запускает квартальный отчет 5 человек, у каждого по 1 гб, вот и аномалия. Когда запускает один - аномили нет.
31 май 17, 17:49    [20528478]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30768
LSV
Я у себя наблюдаю другую картину с 1С8 (мсскл2008р2).
ТемпДБ время от времени разрастается на весь диск. Большой.
Ну, иногда то можно, это нормально.
Но каждый день зачем, что вы получите? Вы же не сможете таким образом уменьшить дисковое пространство?
LSV
Грешить на "залипшие" транзакции, "утечку дисковой памяти" ? Ну хз.
Возможно это кривизна 1С кода (полностью кастомная конфа).
Так можно разобраться, что это. Какими именно объектами заполняется ТемпДБ? Когда? В результате каких запросов?

Как разрастается, внезапно, скачком или постепенно-непрерывно?

Если непрерывно, то это ненормально.

То есть ТемпДБ весь свободен, пустой, там есть место, но для новых объектов сервер увеличивает файл?
Как это?
31 май 17, 19:18    [20528768]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
_Gavrysh_
Member

Откуда:
Сообщений: 130
alexeyvg,
SQL SP4 2000 установлен?
репликация есть?
31 май 17, 23:07    [20529238]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Так можно разобраться, что это. Какими именно объектами заполняется ТемпДБ? Когда? В результате каких запросов?
Как разрастается, внезапно, скачком или постепенно-непрерывно?
Если непрерывно, то это ненормально.
Большая полностью кастомная конфа. Плохо изучена, т.к. была разработана сторонней компанией.
Много внешних отчетов. Много фоновых заданий. Много территориально разнесенных юзеров (причем разные юр.лица). К проблемам в 1С они привыкли, поэтому на мелкие проблемы (зависание, отвалилась сессия) они просто не реагируют жалобами.
Разрастается по разному: то постепенно за неделю, то внезапно за 1-2 часа.
Полноценно смоделировать, т.е. точно обнаружить проблемный код пока не удалось.
"Запустить на копии" тоже проблематично, т.к. есть очень сложная интеграция со сторонними системами: веб-сервисы, личн.кабинеты, телефония, биллинг. И как повторить нагрузку от 1300 юзеров ?

На 95% это проблемы связанные с неоптимальным прикладным 1С кодом.
Пока проще наблюдать и резать, чем рыться в мегакуче кода.
1 июн 17, 10:40    [20530221]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
LSV,

можно отлавливать spill в запросах, по моему у o_o такое было, может поделится :)
1 июн 17, 10:44    [20530242]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
o-o
Guest
TaPaK
LSV,

можно отлавливать spill в запросах, по моему у o_o такое было, может поделится :)

у меня все построено на dmv,
а у ТС 2000ый сервер, а у меня к нему более нет доступа,
сменилась администрирующая команда и сервер вообще переехал
1 июн 17, 13:18    [20531108]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30768
LSV
Пока проще наблюдать и резать, чем рыться в мегакуче кода.
Так "резать" то всё таки зачем?

Ну вырос tempdb, за один день, или за неделю.
Внутри он свободен, расти больше не должен, или, если ещё чуть вырастет, значит, это неизбежно - запустилось что то ещё более монструозное.

Если tempdb внутри свободен, но всё равно продолжает расти - вот тут как раз можно разобраться, и ничего "моделировать" и "ловить" для этого не надо.

А если он ведёт себя нормально, то есть растёт, только когда внутри нет свободного места - тогда решение простое - либо разбираемся, либо забиваем, в зависимости от приоритетов - и то, и другое решение вполне допустимо в каждой конкретной ситуации.

Но вот что непонятно - зачем регулярно шринковать?
1 июн 17, 15:22    [20531736]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7399
Затем, что ТС понятия не имеет как работает база и журнал с простой моделью восстановления в отношении удалённых данных и завершенных транзакций.
1 июн 17, 15:39    [20531832]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Владислав Колосов
Затем, что ТС понятия не имеет как работает база и журнал с простой моделью восстановления в отношении удалённых данных и завершенных транзакций.

о уже и журнал появился... а он тут при чём?
1 июн 17, 15:46    [20531872]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
alexeyvg
Но вот что непонятно - зачем регулярно шринковать?
Только по мере угрожающего роста.
Как ни странно, но место в файле видимо как-то неполностью освобождается.
И в итоге попытка вырасти больше диска валит работу всей системы.
Пока не нашли косяк в коде - режем файл. :)
1 июн 17, 16:03    [20531942]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30768
LSV
Как ни странно, но место в файле видимо как-то неполностью освобождается.
Ну, вот это как раз интересный момент, и его надо исследовать...
1 июн 17, 20:29    [20532948]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5162
alexeyvg
LSV
Как ни странно, но место в файле видимо как-то неполностью освобождается.
Ну, вот это как раз интересный момент, и его надо исследовать...


LSV, да госсподи, что там "видимо как-то неполностью" ?!
не судьба запустить простейший dbcc sqlperf(logspace) после бекапа?

если будет используемое место, то это либо активная транзакция, либо у вас репликация/мирроринг/алвейзон и тп, что держит неотправленную часть журнала
2 июн 17, 01:05    [20533424]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2000 - аномально растет темпдб  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30768
komrad
alexeyvg
пропущено...
Ну, вот это как раз интересный момент, и его надо исследовать...


LSV, да госсподи, что там "видимо как-то неполностью" ?!
не судьба запустить простейший dbcc sqlperf(logspace) после бекапа?

если будет используемое место, то это либо активная транзакция, либо у вас репликация/мирроринг/алвейзон и тп, что держит неотправленную часть журнала
Эээ, речь же о tempdb
2 июн 17, 08:12    [20533517]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить