Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
b10s Member Откуда: Сообщений: 108 |
Здравтсвуйте, у нас начало уходить дисковое пространство на сервере, но возможности исследовать пофайлово диск C не было... громоздкие и наиболее используемые базы были перенесены на диск D мы в замешательстве... но после перезапуска службы MS SQL у нас появилось 45Гб свободного места. Внимание, вопрос: откуда?! Как влиять на этот аппетит ? |
1 окт 13, 10:58 [14905288] Ответить | Цитировать Сообщить модератору |
icprog Member Откуда: Сообщений: 166 |
b10s, Похоже на tempdb |
1 окт 13, 11:01 [14905308] Ответить | Цитировать Сообщить модератору |
Александр52 Member Откуда: Кокосовые острова ส็็็็็ Сообщений: 5136 |
последите за размером tempdb |
1 окт 13, 11:02 [14905316] Ответить | Цитировать Сообщить модератору |
b10s Member Откуда: Сообщений: 108 |
Спасибо. Что в ней лежит и можно ли её чистить ? |
1 окт 13, 11:11 [14905374] Ответить | Цитировать Сообщить модератору |
Александр52 Member Откуда: Кокосовые острова ส็็็็็ Сообщений: 5136 |
b10s, в ней хранятся временные файлы. Чистить можно, вопрос нужно ли это вам. Лучше предварительно почитать про этот файл базы данных. |
1 окт 13, 11:17 [14905424] Ответить | Цитировать Сообщить модератору |
Гость333 Member Откуда: Сообщений: 3683 |
— Временные таблицы (как локальные, так и глобальные). — Постоянные таблицы, специально созданные в tempdb. — Табличные переменные. — Наборы данных для static и keyset курсоров. — Версии строк для транзакций, выполняемых с уровнями изоляции READ COMMITTED SNAPSHOT и SNAPSHOT. — Хэш-таблицы и таблицы сортировок, если они не помещаются в памяти. — Дерево индекса, если при его построении указана опция SORT_IN_TEMPDB. — Наверняка ещё что-то, что я забыл/не знал.
Сначала нужно разобраться, какие объекты и почему занимают много места. Может быть, это нормальное функционирование вашей системы — и тогда лучше не "чистить", а перенести tempdb на диск с достаточным свободным местом. |
||||
1 окт 13, 11:32 [14905562] Ответить | Цитировать Сообщить модератору |
b10s Member Откуда: Сообщений: 108 |
Ну у нас после ребута MS SQL высвободилось 45 гигов - я думаю, что чистить таки надо, если дело в ней |
1 окт 13, 11:37 [14905604] Ответить | Цитировать Сообщить модератору |
b10s Member Откуда: Сообщений: 108 |
оке :) перенесу, всё-таки на D Сейчас появилось еще решение: по джобу делать ежедневное сжатие этой базы. |
||
1 окт 13, 11:38 [14905620] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104751 |
Вы не знаете причину. Вам назвали _одно_ из возможных мест, где MSSQL может создавать данные. А вы решили, что оно единственное. Кроме того, если база tempdb выросла, то автоматически, а тем более при перезагрузке ее физический файл НЕ уменьшится |
||
1 окт 13, 11:39 [14905623] Ответить | Цитировать Сообщить модератору |
icprog Member Откуда: Сообщений: 166 |
Был случай, когда на сервере выполнялся распределенный запрос, tempdb разрасталась более 50 Гб и сжирала все свободное место. Запрос подправили. В итоге tempdb стала занимать около 5 Гб |
1 окт 13, 12:04 [14905852] Ответить | Цитировать Сообщить модератору |
Диклевич Александр Member Откуда: Сообщений: 611 |
if you find yourself shrinking databases so often that you have to automate it, you need to cut up your DBA card and reconsider your choice of career. |
||||
1 окт 13, 12:43 [14906231] Ответить | Цитировать Сообщить модератору |
b10s Member Откуда: Сообщений: 108 |
Ну я у же написал специально - если дело в ней.
Тогда вопрос остается открытым. В чём? |
||||||
1 окт 13, 13:06 [14906430] Ответить | Цитировать Сообщить модератору |
Гость333 Member Откуда: Сообщений: 3683 |
Тут какая-то ошибка. При старте сервера база данных tempdb пересоздаётся, а размеры файлов возвращаются к последним сконфигурированным значениям. Посмотреть сконфигурированные значения для tempdb можно посмотреть так: select * from sys.master_files where database_id = 2, столбец size (значение в страницах) Текущие размеры файлов tempdb можно посмотреть так: select * from tempdb.sys.database_files, также столбец size. Если значение size в sys.database_files больше, чем в sys.master_files, значит, с момента старта SQL-сервера было автоувеличение соответствующего файла tempdb. |
||||
1 окт 13, 14:02 [14906961] Ответить | Цитировать Сообщить модератору |
Александр52 Member Откуда: Кокосовые острова ส็็็็็ Сообщений: 5136 |
tempdb сама при ребуте не пересоздаётся |
||
1 окт 13, 14:27 [14907169] Ответить | Цитировать Сообщить модератору |
b10s Member Откуда: Сообщений: 108 |
ребутнул СУБД пару часов назад и вот какие значения: select size from sys.master_files where database_id = 2 ROWS 165296 LOG 46384 select * from tempdb.sys.database_files ROWS 4729544 LOG 61744 база растёт, и не собирается останавливаться.... |
||
1 окт 13, 14:31 [14907204] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104751 |
База не растет сама по себе. Может кто-то включил, например, READ_COMMITTED_SNAPSHOT and ALLOW_SNAPSHOT_ISOLATION ? ROWS 165296 LOG 46384 Вы хотите сказать, что у вас tempdb.sys.database_files более 100тыс записей ? Или что это за цифры ? |
||
1 окт 13, 14:47 [14907296] Ответить | Цитировать Сообщить модератору |
b10s Member Откуда: Сообщений: 108 |
Да, у нас база разрослась до 40Гб - сейчас именно такие цифры: ![]() К сообщению приложен файл. Размер - 29Kb |
||||
1 окт 13, 14:53 [14907343] Ответить | Цитировать Сообщить модератору |
Гость333 Member Откуда: Сообщений: 3683 |
Не понял, что вы имеете в виду. 1) Смотрим документацию:
2) Документация это хорошо, но, как говорится, "доверяй, но проверяй". Проверяем опытным путём: — создаём любой постоянный объект в tempdb; — убеждаемся, что объект виден в любом коннекте, и не исчезает с закрытием создавшего его коннекта; — перестартуем сервер; — видим, что объект исчез. 3) Дополнительно, в errorlog можно увидеть такую запись, относящуюся к старту сервера: 2013-10-01 12:21:45.43 spid15s Clearing tempdb database. |
||||||
1 окт 13, 15:02 [14907433] Ответить | Цитировать Сообщить модератору |
b10s Member Откуда: Сообщений: 108 |
Гость333 , на моем скрине видна дата создания :) т.е. как раз когда я перезапустил серв. Так что вы правы - она пересоздается при перезапуске сервера. Вопросы теперь такие: - как мне грохнуть темповые таблицы? - как узнать их список и выяснить кто их насоздавал? видимо кто-то создает временные таблицы и не заботится о их удалении, поэтому у нас такой срач :( |
1 окт 13, 15:06 [14907462] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104751 |
Временные таблицы удаляются автоматически. По окончании создавшего их пакета Удалить временные таблицы другого соединения вы не сможете |
||
1 окт 13, 15:07 [14907477] Ответить | Цитировать Сообщить модератору |
Александр52 Member Откуда: Кокосовые острова ส็็็็็ Сообщений: 5136 |
Гость333, вы правы, я ошибся. |
1 окт 13, 15:08 [14907478] Ответить | Цитировать Сообщить модератору |
b10s Member Откуда: Сообщений: 108 |
Мне нужно мониторить, кто плодит временные таблицы и что в них лежит. Знать почему они растут. И еще, я только что ребутнул сервер, еще раз. База tempdb пересоздалась, но, внимание! - размер её упал незначительно: стал не 300Мб, как прежде, а 38Гб. Когда до перезагрузки он был 45Гб Я в замешательстве |
1 окт 13, 15:19 [14907579] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104751 |
Вы уже помониторили, что за объекты у вас вообще в tempdb ? |
||
1 окт 13, 15:21 [14907587] Ответить | Цитировать Сообщить модератору |
Гость333 Member Откуда: Сообщений: 3683 |
b10s, Посмотрите вот эту стаью: http://msdn.microsoft.com/en-us/library/ms176029.aspx Там есть запросы, которые показывают, какими объектами занято место в tempdb. Правда, постфактум это нельзя выяснить (например, когда объект уже удалён в связи с закрытием коннекта). Но можно настроить какой-нибудь аудит, например, записывать с определённой частотой в заранее созданную таблицу результаты запросов из приведённой ссылки, с последующим анализом. |
1 окт 13, 15:21 [14907592] Ответить | Цитировать Сообщить модератору |
b10s Member Откуда: Сообщений: 108 |
знать бы как мониторить :) вот что имею, но кто создал, под каким именем и сколько она весит - ХЗ ![]() К сообщению приложен файл. Размер - 99Kb |
||||
1 окт 13, 15:50 [14907808] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
Все форумы / Microsoft SQL Server | ![]() |