Вход | Регистрация



Растет темп дб

Растет темп дб
Я
   mishaPH
 
Модератор
19.11.18 - 14:41
База 1с ТИС переделанный на 7.7 , скуль 2005.

неожиданно при работе одного отчета ( универсальный по докам выбирает разные доки по продажам с фильтрами по ка, манагерам, собирает суммы и кг отгрузки. В общем а ля олап) стал расти на скуле темп дб, да так, что при базе 120 гиг становится 140 и более..

от чего место на дисках заканчивается и все нафик валится.

Что с этим можно сделать?
очищать как-то темп дб. или настроить скуль чтобы этого не делал. от чего все это?
 
 
   rs_trade
 
1 - 19.11.18 - 14:44
(0) очевидно исправить отчет
   palsergeich
 
2 - 19.11.18 - 14:46
(0) Не знаю как в 77, но думаю так же как и в 8:
- Переписать запрос - где то слишком большая выборка во ВТ.
- Запретить запуск отчета без отборов
- Убедится что отборы накладываются туда куда надо
   palsergeich
 
3 - 19.11.18 - 14:49
(2) Как показала практика пока этого было достаточно при подобной проблеме в 8
   mishaPH
 
Модератор
4 - 19.11.18 - 14:49
(2) ВТ?
- какие обороты в запросе по докам? отчет по полям доков
   mishaPH
 
Модератор
5 - 19.11.18 - 14:50
(1) так он 8 лет работал а счас стал работать непоймикак
   palsergeich
 
6 - 19.11.18 - 14:50
(4) Я про обороты ничего не говорил.
ВТ - временная таблица.
   palsergeich
 
7 - 19.11.18 - 14:51
(5) В какой то момент при накоплении данных такие вещи происходят, отчет который работал годами ломается.
Пока помогала только переписка.
Но я не спец по 7.7
   palsergeich
 
8 - 19.11.18 - 14:53
Боюсь надо лезть в профайлер и смотреть что реально творится в SQL
   Мандалай
 
9 - 19.11.18 - 14:54
Да здравствует ОЛАП на 77
   bodri
 
10 - 19.11.18 - 14:58
реиндексация была? Регистры используются или операции? Может выборка с начала времен?
 
 Рекламное место пустует
   ADirks
 
11 - 19.11.18 - 15:00
для начала общую статистику глянуть, когда начинает пухнуть (а лучше в лог писать, каждые n минут)
типа
SELECT
    (SUM(unallocated_extent_page_count)*1.0/128) FreeSpace ,
        
    sum(user_object_reserved_page_count) * 8 / 1024 UserObjects,
    sum(internal_object_reserved_page_count) * 8 / 1024 InternalObjects,
    sum(version_store_reserved_page_count) * 8 / 1024 VersionStore,
    sum(mixed_extent_page_count) * 8 / 1024 MixedExtent
FROM
    tempdb.sys.dm_db_file_space_usage


Если 99% - InternalObjects, то я не знаю что делать :)
Боролись тут не так давно... как появилось, так и пропало, ничо не поняли...
Разве что версию SQL повысить.
   H A D G E H O G s
 
12 - 19.11.18 - 15:00
lazy table spool приветствует вас, идущие на бой.
   mishaPH
 
Модератор
13 - 19.11.18 - 15:00
гм. тут разбор показал, что один прог в запрос подсчет суммы вставил внешнюю функцию из кода 1с. Из за этого такой финт может быть?
   mishaPH
 
Модератор
14 - 19.11.18 - 15:02
Сумма(ПолучитьСуммуПродаж(СуммаЗаяв,СуммаВклНДС,НДСЗаяв)) Когда (ФлагСписания <> 1)
   palsergeich
 
15 - 19.11.18 - 15:02
(12) Не исключено.
(13) Попробуйте удалите этот код и проверьте, возможно оно
   mishaPH
 
Модератор
16 - 19.11.18 - 15:09
ну да
   d4rkmesa
 
17 - 19.11.18 - 15:49
(14) Любопытства ради, можно код функции?
   rphosts
 
18 - 19.11.18 - 15:56
(4) все временные данные что не поместились в память могут быть сброшены в темпы.
   rphosts
 
19 - 19.11.18 - 15:58
(12) гы-гы-гы, ага
   rphosts
 
20 - 19.11.18 - 16:00
(14) жесть жёсткая... скорее всего 1с постоянно дёргает эту функцию... возможно там за кадром просто Содом и Гомора.... с темпами неявными...

может как-то можно выгрузить например в ТЗ а потом всё это обработать кодом?
   mishaPH
 
Модератор
21 - 19.11.18 - 16:17
(20) я не хочу лезть в этот отчем... это франями написанный инструмент для тиса еще 10 лет назад..
   mishaPH
 
Модератор
22 - 19.11.18 - 16:18
(20) она дергает эту функцию на каждой строке документа, которых 3000 в день, за период 2 месяца. при среднем числе строк в доке 30. вот посчитай.
   mishaPH
 
Модератор
23 - 19.11.18 - 16:18
но эту доработку без моего контроля сделал другой прог а я теперь этот караул разгребаю
   rphosts
 
24 - 19.11.18 - 16:42
Если не дорабатывать... только если темпы на более емкий диск пересилить.
   dmrjan
 
25 - 19.11.18 - 16:46
Во-первых размер tempdb нужно ограничивать, уменьшить стоимость запроса в mssql. Посмотреть - какой размер tempdb песле перезагрузки сервера. Бывает, что эта проблема появилась после некорректного перезапуска сервера и описание такой проблемы и ее решение есть на официальном сайте Microsoft.
   dmrjan
 
26 - 19.11.18 - 16:49
   dmrjan
 
27 - 19.11.18 - 16:50
   mishaPH
 
Модератор
28 - 19.11.18 - 16:55
(25) ограничение темп дб приводит к вылету 1с со скулевой ошибкой
   rs_trade
 
29 - 19.11.18 - 17:05
(23) кросс-джойн какой-нить наверняка получился
   rphosts
 
30 - 19.11.18 - 17:25
(29) запросы в клюшках - вещь в себе. Без трассировки ничего определенного сказать нельзя
   mishaPH
 
Модератор
31 - 22.11.18 - 11:16
чудеса продолжаются.
я гоняю этот несчастный отчет с настройками в тестовой базе ( копии основной) и ни вариант старый с функциями в запросе ни новый без них не вызывает рост темп дб.. все работат нормально.

замечено, что темп дб растет только если большая нагрузка на базу.
   mishaPH
 
Модератор
32 - 22.11.18 - 11:16
т.е. когда и сложные отчеты и текущая работа..


как-то модно понять, какие запросы в какое время эту базу разнесли?
   xXeNoNx
 
33 - 22.11.18 - 11:26
В процессе работы 1С:Предприятия 8 возможно значительное увеличение размера базы данных TEMPDB.
Причина

Причиной увеличения размера базы данных TEMPDB, как правило, является невозможность автоматической очистки журнала транзакций и повторного использования свободного пространства в базе данных TEMPDB из-за наличия активных транзакций, использующих объекты этой базы данных. Основные причины, вызывающие длительную блокировку работы этих механизмов базы данных TEMPDB, заключаются в следующем:

    "Большие" транзакции, использующие TEMPDB, выполнение которых занимает большой промежуток времени.
    Сетевые ошибки, из-за которых Microsoft SQL Server не получает уведомление о потере сетевого подключения. Если клиентская рабочая станция зависает, перезагружается, или будет выключена во время исполнения определяемой пользователем транзакции, то Microsoft SQL Server будет считать, что клиент продолжает работу, и выполняющаяся клиентская транзакция будет по-прежнему активна. Время обнаружения подобной ситуации зависит от настроек параметров сетевого протокола, используемого Windows . Например, при использовании протокола TCP/IP это время составляет 2 часа.

Если для завершения активных транзакций не хватает места в базе данных, Microsoft SQL Server автоматически увеличивает размер TEMPDB на величину, заданную в параметрах этой базы данных (по умолчанию - 10% от текущего размера).

https://its.1c.ru/db/metod8dev#content:2374:hdoc
 
 
   trdm
 
34 - 22.11.18 - 11:56
реконнект нативе?
   mishaPH
 
Модератор
35 - 22.11.18 - 12:25
(33) тут 7.7 (34) ??
   xXeNoNx
 
36 - 22.11.18 - 12:43
(35) а там что-то про 8.Х?
   Ник080808
 
37 - 22.11.18 - 13:23
(36) В процессе работы 1С:Предприятия 8 возможно


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует