8.х Краш SQL и Зависание процеса

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Sf_by_YaphetS, 30 июн 2014.

  1. TopicStarter Overlay
    Sf_by_YaphetS
    Offline

    Sf_by_YaphetS Опытный в 1С

    Регистрация:
    8 авг 2012
    Сообщения:
    64
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте
    1С:Предприятие 8.2 (8.2.19.102)
    Конфигурация УТ 1.0 (10.3.5.1) Переписанная в хлам

    Недавно база была перенесена с одного сервера на другой путем снятия бекапа, копирования на другой сервер и там ее разворачивания. Если конечно в этом проблема.

    Есть отчет который выполняет запрос после чего на сервере sql забирает 99 процентов ЦП, ребята покапались в мониторинге sql и сказали что все остальные задачи находятся в ожидании пока не выпонится эта, говорили что может быть в sql находится битая таблица которая не может обработаться

    Побегал по форумам, да и все советуют, провести тестирование и исправление базы ну и переиндексацию самого sql. База весит 80 гб

    Перед тем как выполнить тестирование я буду снимать Бекап что займет около 1-2 часа, а с учетом того что тестирование и исправление примерно занимает 2-3 часа на 6 гб базой, то я остановлю работу правктически на 2 дня, что очень не хорошо.

    Код:
    "ВЫБРАТЬ
                 |    ЗарождениеДоговоров.ДогВлож.агент.Наименование КАК Агент,
                 |    ЗарождениеДоговоров.ДогВлож.Владелец.Наименование КАК Контрагент,
                 |    ЗарождениеДоговоров.ДомВлож.Наименование КАК Дом,
                 |    ЗарождениеДоговоров.Контрагент.Квартира  КАК Квартира,
                 |    ЗарождениеДоговоров.НачалоРаботыДоговора КАК Период,
                 |    ЗарождениеДоговоров.Статус КАК Статус,
                 |    ЗарождениеДоговоров.ДогВлож.Код КАК НомерДоговора,
                 |    ЗарождениеДоговоров.ДогВлож.Акция КАК Акция,
                 |    ЗарождениеДоговоров.ДогВлож.Тариф КАК Тариф,
                 |    КонтактнаяИнформацияТЕЛЕФОН.Представление КАК Телефон,
                 |    КонтактнаяИнформацияТЕЛЕФОН2.Представление КАК Телефон2,
                 |    КонтактнаяИнформацияПАСПОРТ.Представление КАК Паспорт,
                 |    КонтактнаяИнформацияМыло.Представление КАК ЭлектронныйАдрес,
                 |    ЗарождениеДоговоров.ДогВлож.ТекущийТариф     КАК ТекущийТариф,
                 |    ЗарождениеДоговоров.ДогВлож.Конкурент.Ссылка КАК Конкурент,
                 |    ЗарождениеДоговоров.ДогВлож.ИсточникИнформации.Ссылка КАК ИсточникИнформации,
                 |    ЗарождениеДоговоров.ДогВлож.НомерТелефона КАК НомерТелефона,
                 |    ЗарождениеДоговоров.ДогВлож.ДоКонцаМесяцаБесплатно КАК ДоКонцаМесяцаБесплатно,
    //             |    ЗарождениеДоговоров.ДогВлож.ПереданВОтделВзыскания КАК ПереданВОООПристав,
                 |    ЗарождениеДоговоров.ДомВлож.Ссылка КАК СсылкаДом,
                 |    ЗарождениеДоговоров.ТипУсдугиВлож КАК ТипУслуги,
                 |    ЗарождениеДоговоров.ДогВлож.агент.Ссылка КАК АгентСсылка
                 |ИЗ
                 |    (ВЫБРАТЬ
                 |        ДоговорыКонтрагентов.Владелец.Дом.Ссылка КАК ДомВлож,
                 |        ДоговорыКонтрагентов.Владелец.Ссылка КАК Контрагент,
                 |        ДоговорыКонтрагентов.Ссылка КАК ДогВлож,
                 |        ДоговорыКонтрагентов.Дата КАК Дата,
                 |        ДоговорыКонтрагентов.ТипУслуги КАК ТипУсдугиВлож,
                 |        МИНИМУМ(ИсторияСтатусаДоговора.Период) КАК НачалоРаботыДоговора,
                 |        ИсторияСтатусаДоговора.Статус КАК Статус
                 |    ИЗ
                 |        РегистрСведений.ИсторияСтатусаДоговора КАК ИсторияСтатусаДоговора
                 |            ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
                 |            ПО ИсторияСтатусаДоговора.Договор = ДоговорыКонтрагентов.Ссылка
                 |    ГДЕ
                 |        ИсторияСтатусаДоговора.Статус = &Статус ";
    

    Ребят, может подскажите как это можно решить, у меня просто идею уже закончились, раньше этот отчет работал без косяков и выполнялся быстро, теперь вот такая беда
  2. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ну как вариант написать скриптик: выгрузка бекапа + переиндексация средствами sql. Вроде как такое возможно. И запустить на ночь, когда никого нет и никому не мешает
  3. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну запрос так ничего не даст. Так не видно в выводимых данных составной там тип или нет.
    База какая? серверная или файловая? Просто на передыдушем сервере многие даннгые могут быть в логе вытащенные
  4. TopicStarter Overlay
    Sf_by_YaphetS
    Offline

    Sf_by_YaphetS Опытный в 1С

    Регистрация:
    8 авг 2012
    Сообщения:
    64
    Симпатии:
    0
    Баллы:
    26
    База серверная sql 2008, выгружается запрос в Таблицу значений
  5. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Запрос приведен не полностью. Здесь:
    ---
    | ДоговорыКонтрагентов.Владелец.Дом.Ссылка КАК ДомВлож,
    | ДоговорыКонтрагентов.Владелец.Ссылка КАК Контрагент,
    --
    Выкидывайте .Ссылка однозначно.
  6. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    IMHO :
    1.е вложенный запрос вывести в временную таблицу, с отбором нужных полей
    группировками и т.д.
    2.е проиндексировать временную таблицу по полю соединения "
    ИсторияСтатусаДоговора.Договор", если по этому полю нет индексации в регистре.
    было бы не плохо посмотреть свойства регистра
    "РегистрСведений.ИсторияСтатусаДоговора" по каким полям идет индексация.
    Может в целом провести обслуживание БД, обновление индексов
    --- Объединение сообщений, 1 июл 2014 ---
    На диске ИТС Раздел "Разаработка и внедрение" - "Технологические вопросы крупных внедрений"

Поделиться этой страницей