|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
Добрый день, Прошу помочь прояснить ситуацию с размером templog. Ситуация: в ноябре сильно разрослась tempdb, до примерно 60Гб (как сама, так и templog). И если самой tempdb помог Shrink Database - теперь она 11,7Гб, то tenplog как был, так и остается порядка 60Гб (dbcc shrinkfile ('templog') также не помогает). Перезапуск сервера ничем не помог. Подобный размер беспокоит, т.к. общего места на диске осталось немного, а увеличить возможности нет. 1. Самая "старая" транзакция на текущий момент в tempdb - сегодняшняя. Dec 15 2020 12:00:50:870PM 2. Код: plaintext 1. 2.
3. временных таблиц - 4853 штуки 4. среди временных таблиц есть одна: Код: plaintext 1.
5. у остальных "временных" параметр "reserved pages" не превышает 72, а "used pages" - и того меньше Может быть дело в ней? Как узнать? И можно ли как-то узнать, что вызвало ее создание? И если дело в ней, то можно ли как-то о нее избавиться, не навредив? К сожалению, мои текущие познания в SQL-сервере крайне скудны и основаны лишь на "Руководстве для начинающих" (Петкович Д.) + форум сайта SQL.ru. Просмотрел похожие темы, но решения, к сожалению так и не нашел. Заранее благодарю за содержательные ответы. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 13:08 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 13:24 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
авторПерезапуск сервера ничем не помог. Совершенно неправда. "Само", конечно, не сожмется. После перезапуска службы необходимо изменить размер файла как можно быстрее, пока не заняли другие процессы VLF, проще всего через меню свойств базы. Изменять размер следует лишь в случае, если в дальнейшем рост не предвидится. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 13:43 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
Sviman144, USE tempdb CHECKPOINT DBCC SHRINKFILE (templog, 0, TRUNCATEONLY) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 14:00 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
Спасибо за ответы. Результаты DBCC Loginfo: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
1. Учитывая "статью" (спасибо invm) и набор команд (спасибо ptr128), значит ли это, что DBCC ShrinkFile ... Truncateonly, по идее, должно "освободить место", начиная с 10-строки таблицы выше (т.к. "...Параметр TRUNCATEONLY не переносит сведения в журнале, но удаляет неактивные VLF в конце файла журнала."). Или у меня "английский" страдает и/или я все неправильно понял (в статье)? И если "правильно", то как, при таком LOG все-таки "сдвинуть" активные VLF в начало? 2. DBCC SHRINKFILE (templog, 0, TRUNCATEONLY). Если я правильно понял, то "0" относится к аргументу target_size. А в MS Docs пишут: "...Аргумент target_size не учитывается, если указан аргумент TRUNCATEONLY." Или я опять неправильно понял? ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 14:32 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
Sviman144 значит ли это, что DBCC ShrinkFile ... Truncateonly, по идее, должно "освободить место", начиная с 10-строки таблицы выше Sviman144 как, при таком LOG все-таки "сдвинуть" активные VLF в начало? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 15:22 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
invm Нужно завершить активные транзакции. А можно их как-то "вычислить", чтобы попытаться "завершить"? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 15:42 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
Sviman144, DBCC OPENTRAN ('tempdb') ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 15:46 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
Команды "от ptr128" не помогла Результат выполнения: Код: plaintext 1.
"Новый" результат LOGINFO после shrink + truncateonly: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 15:49 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
ptr128, DBCC Opentran: Oldest active transaction: SPID (server process ID): 113 UID (user ID) : -1 Name : sort_init LSN : (194:1818244:271) Start time : Dec 15 2020 3:44:12:793PM SID : 0x010500000000000515000000eb2407ce8bd11ec73630780c40080000 DBCC execution completed. If DBCC printed error messages, contact your system administrator. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 15:50 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
Sviman144, И что Вы от меня теперь хотите? SPID Вы видите. Дальше уже разбирайте сами, что это за процесс, кто его запустил, когда он завершится и можно ли его убить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 15:57 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
ptr128, Так "транзакция" не такая уж "старая". Да и при последующем запуске вылезает уже другая. Может быть и нет "зависших" транзакций? И вопрос, скорее в другом: наверное, странно почему shrink + truncateonly не дал результатов? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 16:20 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
Sviman144, Потому что новые транзакции радостно используют произвольное место в файле журнала, раз уж это место аллоцировано. Найдите, что это за процессы и кто их запускает. Не исключено, что достаточно остановить SQL Server Agent. Если уж совсем все плохо, отключите у SQL Server временно все протоколы, кроме Shared memory и перезагрузите его. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 16:28 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
ptr128 Найдите, что это за процессы и кто их запускает. Не откажите, подскажите, пожалуйста, как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 16:31 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
Sviman144, sp_who для начала ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 16:34 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
ptr128, все "пусто" для tempdb - только один процесс, который я сам запускаю, запуская sp_who. Через Ctrl+Alt+A выдает один процесс (88). Результаты по нему через DBCC Inputbuffer(88): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 16:55 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
Sviman144 все "пусто" для tempdb Любой процесс может обращаться к любой базе, и даже может одновременно к нескольким базам в одном запросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 16:58 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
Sviman144 все "пусто" для tempdb А это что? Sviman144 FROM #am_request_count ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 17:14 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
alexeyvg, предположил на основании sp_who 'active', в результате выполнения которой есть только одна строчка со ссылкой на tempdb: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 17:20 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
Sviman144, ptr128 Не исключено, что достаточно остановить SQL Server Agent. Пробовали? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 17:21 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
ptr128, Никогда не пробовал. На нем завязано несколько "jobs", которые довольно часто срабатывают (по событиям) в БД. Боязно. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 17:33 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
Sviman144, Попытки пошринкать tempdb не имеют смысла, т.к. она у вас создается уже с журналом такого размера. Поэтому после рестарта службы сервера получите те же самые 60 Гб. Можете проверить посмотрев на данные в столбце size для Код: sql 1.
Просто уменьшите начальныей размер ЖТ для tempdb и перезапустите службу сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 17:41 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
invm, Спасибо. Т.е. получается его размер и был 60 Гб. А то, что "в ноябре сильно разрослась tempdb" относилось, видимо, к самой tempdb, а templog таким и был изначально? Если "так", то вопрос снимается. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 17:47 |
|
Большой размер templog (субъективно)
|
|||
---|---|---|---|
#18+
ptr128, не знаю, единственное, что нашел похожее среди таблиц в tempdb - это: Код: plaintext
Таблицы с именем Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2020, 17:49 |
|
|
start [/forum/topic.php?fid=46&fpage=39&tid=1685294]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 287ms |
total: | 421ms |
0 / 0 |