При работе с 1С:Предприятием 8.3, особенно после обновлений платформы, пользователи могут столкнуться с ошибкой, препятствующей выгрузке информационной базы в файл формата DT. Эта ошибка проявляется как relation "schemastorage" does not exist (для PostgreSQL) или Invalid object name 'SchemaStorage' (для Microsoft SQL Server). В данном материале мы рассмотрим, что представляет собой таблица SchemaStorage, почему возникает эта ошибка и какие шаги необходимо предпринять для ее устранения.
Таблица SchemaStorage является внутренней системной таблицей платформы 1С:Предприятие. Ее точное назначение не задокументировано публично, но из контекста возникающих проблем и предложенных решений мы можем заключить, что она используется платформой для хранения метаданных, описывающих структуру базы данных, или настроек, связанных с планами обмена данными. Например, в одном из сообщений предполагается, что в ней могут храниться схемы настроек планов обмена.
Когда платформа 1С пытается выполнить операцию (в данном случае — выгрузку базы в DT) и обращается к таблице SchemaStorage, а СУБД сообщает, что такая таблица не найдена, это указывает на рассинхронизацию. То есть, платформа ожидает увидеть эту таблицу с определенной структурой, но по каким-то причинам она отсутствует или ее структура повреждена в физической базе данных.
Давайте проанализируем основные причины, по которым возникает ошибка relation "schemastorage" does not exist или Invalid object name 'SchemaStorage':
SchemaStorage, но СУБД ее не находит.Наиболее эффективным и часто помогающим решением данной проблемы является выполнение Тестирования и исправления (ТИИ) информационной базы с обязательной опцией "Реструктуризация таблиц информационной базы".
Тестирование и исправление (ТИИ) — это встроенная процедура в конфигураторе 1С:Предприятия, предназначенная для поддержания целостности и корректности информационной базы. Она позволяет выявлять и устранять логические ошибки, оптимизировать структуру таблиц и восстанавливать правильность данных.
При выборе опции "Реструктуризация таблиц информационной базы", 1С фактически перестраивает внутреннюю схему базы данных. Это означает, что платформа создает новые таблицы с актуальной структурой, соответствующей текущей конфигурации, и переносит в них все данные из старых таблиц. Этот процесс является комплексным и помогает устранить любые несоответствия, в том числе и отсутствие, или повреждение системных таблиц, таких как SchemaStorage. По сути, мы приводим физическую структуру базы данных в полное соответствие с метаданными конфигурации.
Остальные флаги можно установить по вашему усмотрению или оставить по умолчанию, но для решения нашей проблемы ключевыми являются именно эти два.
tempdb.mdf, так как он может сильно увеличиваться во время операций реструктуризации. Убедитесь, что на диске достаточно свободного места для временных файлов.В некоторых случаях, когда полная реструктуризация кажется слишком сложной или длительной, можно попробовать спровоцировать частичную реструктуризацию, выполнив следующие шаги:
F7). При этом 1С предложит обновить конфигурацию базы данных – согласитесь. Это действие может вызвать небольшую реструктуризацию.F7).Этот метод не всегда срабатывает, но в некоторых случаях он может помочь, так как даже незначительные изменения в конфигурации и их применение могут затронуть внутренние системные структуры и устранить несоответствие.
Если проблема возникла после обновления платформы до новой версии (например, с 8.3.10 на 8.3.11), и ТИИ не помогло или вы не имеете возможности его выполнить, можно попробовать следующий подход:
Этот метод позволяет обойти проблему, связанную с конкретным багом в новой версии платформы, который мешает выгрузке, используя функционал, работавший корректно в предыдущей версии.
1Cv8_БЖ_2018.02.05.dt), в то время как выгрузка с простым именем (например, 1Cv8.dt) завершалась успешно. Однако, другие пользователи подтвердили, что этот совет не является универсальным решением и реструктуризация все равно требовалась. Тем не менее, как временное или дополнительное действие, можно попробовать сохранить файл DT с максимально простым именем.SchemaStorage, оно указывает на возможные системные нюансы, которые могут влиять на работу 1С.В целом, проблема с отсутствием таблицы SchemaStorage при выгрузке базы в DT является свидетельством внутренних несоответствий в структуре информационной базы, часто вызванных обновлениями платформы. Наиболее надежным и проверенным решением является выполнение Тестирования и исправления с опцией реструктуризации, но всегда помните о необходимости создания резервных копий и учете потребления ресурсов.