8.х Долго грузится dt в MS SQL

Тема в разделе "Установка платформы "1С:Предприятие 8"", создана пользователем Ildar Ziganshin, 11 дек 2013.

  1. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, что не так?
  2. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    А что вам не нравится? Вес dt какой ?
  3. nickpugachev
    Offline

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

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    dt - это сжатые данные таблиц базы. 1с нужно их распаковать из архива, внести в sql и перестроить все индексы - вот вам и время загрузки
  4. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    Ошибка загрузки информационной базы. В информационную базу загружены не все данные
    по причине:
    Ошибка СУБД:
    Microsoft SQL Server Native Client 10.0: Внимание! Максимальная длина ключа - 900 байт. Индекс "_CommonSett_ByKey_SSS" имеет максимальную длину 1152 байт. Для некоторых комбинаций больших

    значений операции вставки или обновления не смогут быть выполнены.
    HRESULT=80040E2F, HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=10, native=1505, line=1
    SQLSrvr: SQLSTATE=01000, state=1, Severity=0, native=1945, line=1

    Дело в индексации, а какой реквизит именно индексируется не понятно. В SQL нужно чтобы было меньше 900, а у меня 1152 байт.
  5. nickpugachev
    Offline

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

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    смотрите регистры с измерениями-строками
    особенно на самопальные и доработанные
  6. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    Да смотрел дописан регистр Лицевые счета.

    В нем ничего не индексируется.

    Как бы мне поиск запустить по строкам с индексированием?
  7. nickpugachev
    Offline

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

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    у всех регистров обязательно есть индекс, включающий все их измерения, даже если вы ничего специально не индексировали
  8. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    Вы про какие регистры говорите? Куда копать дальше? Я как понял если стоит не индексировать у регистра сведений допустим, то его измерения и ресурсы не индексируются.
  9. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    по коду ошибки погуглите еще, наверняка уже куча обсуждений было. Это я к тому, что пока ждете ответа от бывалых. может быстрее будет найти уже готовый ответ
  10. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    Да гуглил толку нету.
  11. nickpugachev
    Offline

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

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    80040E2F - ошибка первичного индекса, конкретно здесь - попытка создать первичный индекс с превышением максимального размера ключа

    Первичный индекс строится у любого регистра по всем его измерениям, включая Период и Регистратор, если они есть, даже если вы ни одно измерение не отметите для индексирования. Поэтому смотреть стоит все самописные регистры и регистры, в которые вносили изменения, у которых есть измерения типа Строка или с составным типом, включающим тип Строка.
  12. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    Какие именно регистры смотреть? Сведений, накопления, бухгалтерии? Почему это именно в регистре ошибка, может в справочнике. Что именно смотреть?
  13. nickpugachev
    Offline

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

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    в первую очередь регистры сведений - там чаще всего такие косяки устраиваются, потом - все остальные.

    В справочниках первичный индекс идет по уникальному идентификатору, поэтому на них такие косяки не нападают, то же относится и к документам, у них индекс по идентификатору и моменту времени.
  14. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    Можно по точнее что смотреть в регистрах сведений?
  15. nickpugachev
    Offline

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

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    измерения типа Строка, чтобы сумма длин этих измерений была не более 400 примерно, если измерений много - то и меньше.
    поскольку данные в unicode хранятся, то на каждый символ в строке получается 2 байта (иногда больше), максимальная длина ключа индекса в SQL - 900 байт, длина измерения ссылочного типа - 34 байта, длина измерения числового типа - по длине числа, даты - 4-8 байт.
    если у измерения составной тип, содержащий кроме ссылок еще какие-то типы, то длина его будет 34+длины всех остальных типов

    то есть смотрите регистры с измерениями типа Строка и считаете сумму байт сколько занимают все измерения этого регистра - если получите больше 900 - это тот регистр, который косячит. Начинаете с самописных и доработанных регистров сведений, потом самописные и доработанные остальные регистры.
  16. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    1. Правильно ли я понимаю, в конфигураторе смотреть регистры сведения с измерениями типа строка и ссылочные. То есть сумму длин измерения у одного регистра сведений. Как эту сумму то увидеть? У ссылочных измерений?

    Вложения:

  17. nickpugachev
    Offline

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

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    да, это длина измерения в понятиях 1с, в случае с числами - длина равна количеству занимаемых байтов.
    вам нужно считать суммы длин всех измерений регистра
  18. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    Вроде понял у меня должно получиться не больше 900 байт это одно измерение у одного регистра сведений или сумма всех измерений у одного регистра сведений?. Число с длиной 2 это 2 байта? Длина строки 10 это 20 байт, а как с типом дата для него можно выбрать дата, время, дата и время то есть для дата, время это 4 байта, а для дата и время 8 байт?

    а потом нужно будет уменьшить длину допустим строки и ошибка должна будет исчезнуть?
  19. nickpugachev
    Offline

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

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    у вас должно получиться не больше 900 байт сумма всех измерений. для даты сейчас посмотрел - в любом случае 4 байта.

    когда найдете - уменьшаете длину строковых измерений, ошибка уйдет
  20. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    Уменьшить размер строкового параметра, обновить конфигурацию и ошибка исчезнет буду искать, но там только один добавлен регистр сведений.

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