Мария Измайлова пишет: Вот здесь показан скрин обработки для файловой базы- здесь один из трех размеров могут быть больше 4 Гб и тогда будет выдаваться данная ошибка.
Только это файловый вариант, и файл .cd У меня есть только выгрузка в dt
Поэтому я и написала-поищите в инете для sql базы. А вообще раз у Вас такая огромная база, то лучше всего работать на SQL, а не в файловой базе, иначе думаю такие ошибки будут регулярно появляться со временем.
Мария Измайлова пишет: Поэтому я и написала-поищите в инете для sql базы. А вообще раз у Вас такая огромная база, то лучше всего работать на SQL, а не в файловой базе, иначе думаю такие ошибки будут регулярно появляться со временем.
У нас база не огромная ) в SQL 1.9 гига, похоже просто криво разворачиваются индексы для какой-то из таблиц Файловый вариант нужен для проверки настроек базы, вывода отчетов (которые сейчас выводятся очень криво), а также проверки базы под новую версию платформы и для тестового локального обновления конфигурации
elite128 пишет: просто криво разворачиваются индексы для какой-то из таблиц
Файловая база данных это СУБД производства компании 1С. MS SQL это СУБД производства Microsoft. Естественно детали работы ядра, у этих СУБД могут сильно отличаться, например технология построения индексов. В MS SQL используется одна технология, Вы можете оценить размеры индексов (собственно что вы и сделали). Какая технология используется в файловых непонятно, но понятно что она другая и те же индексы, что в MS SQL могут занимать совершенно другой объем места.
Цитата
elite128 пишет: файловый вариант нужен для проверки настроек базы, вывода отчетов (которые сейчас выводятся очень криво), а также проверки базы под новую версию платформы и для тестового локального обновления конфигурации
Если вы не хотите загружать сервер 1С, который поддерживает рабочую базу, добавьте в кластер еще один, но тестовый сервер. Если не хотите грузить СУБД поддерживающую рабочую базу, установите на другой машине (отличной от сервера БД) Express версию MS SQL, исходя из размера вашей базы для вышеперечисленных вами тестовых целей бесплатной версии должно хватить.
Андрей Агафонов пишет: Если вы не хотите загружать сервер 1С, который поддерживает рабочую базу, добавьте в кластер еще один, но тестовый сервер. Если не хотите грузить СУБД поддерживающую рабочую базу, установите на другой машине (отличной от сервера БД) Express версию MS SQL, исходя из размера вашей базы для вышеперечисленных вами тестовых целей бесплатной версии должно хватить
Периодически сотрудникам (экономисты, бухгалтерия), нужна копия базы локально, всем SQL экспресс ставить не вариант. Купить еще один сервер для того, чтобы оттестировать обновление базы перед тем, как накатывать его на боевую базу? ) Я хочу все же выяснить, почему не загружается, учитывая то, что размер базы небольшой, и в дальнейшем мне будут нужны локальные файловые копии Я понимаю, что это ограничение платформы, но оно связано с форматом таблиц и индексов, которые возможно прописаны некорректно, данный вывод делаю хотя бы на основе решения проблемы на инфостарте, где включали технологический журнал, и отлавливали переполнение индекса, к сожалению у меня отловить по данному способу не получилось, есть лог, но к сожалению понять на какой таблице падает, не могу
Андрей Агафонов пишет: Если вы не хотите загружать сервер 1С, который поддерживает рабочую базу, добавьте в кластер еще один, но тестовый сервер. Если не хотите грузить СУБД поддерживающую рабочую базу, установите на другой машине (отличной от сервера БД) Express версию MS SQL, исходя из размера вашей базы для вышеперечисленных вами тестовых целей бесплатной версии должно хватить
Периодически сотрудникам (экономисты, бухгалтерия), нужна копия базы локально, всем SQL экспресс ставить не вариант. Купить еще один сервер для того, чтобы оттестировать обновление базы перед тем, как накатывать его на боевую базу? ) Я хочу все же выяснить, почему не загружается, учитывая то, что размер базы небольшой, и в дальнейшем мне будут нужны локальные файловые копии
Вы можете выслать свой файл .dt -для эксперимента- я попробую у себя его поднять.
Купить еще один сервер для того, чтобы оттестировать обновление базы перед тем, как накатывать его на боевую базу? )
Разнесение тестовой и продакшн среды нормальная практика. Для тестовой (исходя из ваших объемов) должно быть достаточно современной рабочей машины в качестве сервера. Но придется покупать еще один серверный ключ.
Цитата
Я хочу все же выяснить, почему не загружается, учитывая то, что размер базы небольшой, и в дальнейшем мне будут нужны локальные файловые копии
У Вас есть свежие выгрузки dt, которые успешно загружались? Если да, попробуйте воспользоваться этой обработкой: http://infostart.ru/public/176476/ и посмотрите какие таблицы имеют наибольшие размеры.
Андрей Агафонов пишет: Разнесение тестовой и продакшн среды нормальная практика. Для тестовой (исходя из ваших объемов) должно быть достаточно современной рабочей машины в качестве сервера. Но придется покупать еще один серверный ключ.
В качестве тестовой вполне хватает обычной машины+файловый вариант, покупать сервер+ключ в связи с тем, что небольшая база не выгружается файлово, не готовы
elite128 пишет: Нашел последнюю не падающую версию, посмотрел утилитой Очень большой файл индексов системных настроек, как почистить?
В SQL Management Studio покажите : 1) Структуру вашей таблицы SystemSettings, что бы были видны названия всех колонок таблицы 2) список индексов таблицы SystemSettings 3) детально структуру каждого из индексов, что бы можно было посчитать максимальный размер строки каждого из индексов. Должно получиться что-то вроде: http://radikal.ru/fp/10f2a206b0694694946dccd8f61b8954
Попробуйте следующие варианты. Перед формированием dt-шника поднимать еще одну базу – клон рабочей.
1 Вариант, самый простой:
В этой базе очищать строки в таблице «SystemSettings», выгружать DTшник из нее. Но я думаю, что вы понимаете к чему это приведет. Все пользовательские настройки будут удалены.
2 Вариант, экспериментальный:
Причину с резким ростом индекса в файловой версии БД сотрудники компании 1С описали следующим образом: «Если длина ключа оказывается близкой к 2К, то начинается резкий рост размера индексов с рядом неприятных последствий. Среди которых сам размер индекса и связанное с этим снижение производительности, так как требуется значительно большее число дисковых операций при чтении и записи индексов. Это конструктивная особенность индексов в файловом движке и исправлять эту проблему мы не решаемся, так как исправление может оказаться разрушительным.» И важное дополнение про границу в 2K «К сожалению, граница может немного отличаться, в зависимости от характера данных.»
В вашем случае индекс занимает чуть больше 1,1K. Можно попробовать уменьшить размер индекса, максимально отодвинув его от той самой размытой границы про которую говорят сотрудники 1С.
Есть предположение, что в таблице вашей базы не хранится ни одной строки, имеющей в колонке строки максимальной длины. Идея состоит в том, что бы привести разрядность этих трех колонок к максимально используемой в текущий момент. Для этого необходимо вычислить максимальную длину записей в каждой из колонок индекса, имеющих строковый тип (nvarchar), это: - UserID – 64 символа - ObjectKey – 256 символов - SettingsKey – 256 символов
ДЕЛАЕМ НА КЛОНЕ РАБОЧЕЙ БАЗЫ:
1) Запускаем запрос из вложения. Предварительно в его тексте нужно заменить «221_ssl_develop» на название вашей базы клона рабочей в MS SQL. 2) Получаем результат примерно следующего характера: http://radikal.ru/fp/28579186f9194e5c95c4198dcae7122e 3) Уменьшаем длину колонок: ObjectKey с 256 до 163, SettingsKey с 256 до 44, UserID с 64 до 32. В этом случае, размер индекса должен сократиться чуть больше чем в 2 раза. 4) Выгружаем dtшник из базы клона, пробуем его загрузить.
Андрей Агафонов пишет: 3) Уменьшаем длину колонок: ObjectKey с 256 до 163, SettingsKey с 256 до 44, UserID с 64 до 32. В этом случае, размер индекса должен сократиться чуть больше чем в 2 раза.
Спасибо за информацию, попробую, запрос просто выводит макс длину? Длину колонок меняю в настройках индекса или их меняет обработка? Если примем решение удаления индексов пользовательских настроек, как это сделать?
elite128 пишет: Андрей Агафонов пишет: 3) Уменьшаем длину колонок: ObjectKey с 256 до 163, SettingsKey с 256 до 44, UserID с 64 до 32. В этом случае, размер индекса должен сократиться чуть больше чем в 2 раза.
Добрый день, где точнее уменьшается длина колонок? Как примерно определить, до какой длины обрезать? Чуть с запасом?