Как перевести базу 1с из sql в файловую
Перейти к содержимому

Как перевести базу 1с из sql в файловую

Как преобразовать файловую базу 1С в SQL версию?

За долгое время работы с 1С, файловая база данных, в которой изначально работало 3-4 бухгалтера, прирастает пользователями, а главное увеличивается в размерах и порой очень сильно.

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

Решением становится перевод базы данных из файловой версии в SQL. Преимущества SQL сервера очевидны: доступ к базе осуществляется равномерно, за счет запросов к файлу базы данных программным обеспечением Microsoft SQL Server 2016, это позволяет сохранить очередность внесения изменений в таблицы, надежность хранения данных и скорость обработки запросов.

При росте кол-ва пользователей, работающих с базой данных – такой переход неизбежен.

Как перевести базу из файловой в SQL?

Идеальным способом, является выгрузка файла *.dt через Конфигуратор 1С. Это не сложный процесс, для этого необходимо под администратором базы данных зайти в Конфигуратор файловой базы данных, которую вы хотите переделать в SQL версию. В меню Администрирование выбрать «Выгрузка информационной базы» и сохранить файл с данными.

выгрузка базы данных 1С SQL

Далее необходимо создать пустую SQL базу данных через оснастку «Администрирование Сервера 1С Предприятия». Создание пустой базы данных через эту оснастку подробно описано в нашей статье по созданию базы данных для SQL: https://needsysadmin.ru/create-base-1c-on-sql-server рекомендуем ознакомиться с ней.

После того, как пустая база данных на сервере SQL создана, мы можем загрузить в нее ранее сохраненную выгрузку в формате *.dt предварительно добавив ее в список баз.

После этого уже можно опять использовать конфигуратор, но не старой, а новой базы данных, которую мы добавили, указав ее расположением localhost, т.е. наш SQL сервер и добавив ее в список ваших баз 1С.

выбор и настройка базы 1С SQL

Уже в этой новой базе необходимо выполнить почти те же действия в Конфигураторе, что и в начале статьи. То есть зайти в пункт Администрирование и выбрать пункт «Загрузить информационную базу». При загрузке необходимо выбрать файл выгрузки из файловой базы данных.

Таким образом вы сами можете осуществить, полный процесс преобразования и перехода из файловой базы 1С в SQL версию базы данных.

Посмотреть цены на сервера для 1С:

Перенос файловой базы 1С в SQL

Перенос файловой базы 1С в SQL

Продукты фирмы «1С» имеют два основных решения для хранения данных: файловая база данных и база данных, размещенная на SQL Server (поддерживается как Microsoft SQL Server, так и бесплатный PostgreSQL, Oracle Database, IBM Db2). Файловые базы данных как правило используют небольшие компании с 1-10 пользователями, при этом быстрого роста объема базы данных в среднесрочной перспективе не предвидится. Если у Вас “тормозит база 1С”, вы постоянно отмечаете рост пользователей или на этапе проектирования решения Вы рассчитываете на достаточно быстрый рост объема данных, Вам пора задуматься о переезде файловой базы 1С на SQL Server.

Не получается самостоятельно перенести файловую базу на SQL сервер? Обратитесь за консультацией к специалистам IT-Lite. Узнать подробнее об условиях предоставления услуг можно у специалистов компании по телефону: 8(495)646-23-16 или отправив запрос на почту: sales@it-lite.ru.

Как перенести файловую базу 1С в SQL?

Перенос базы 1С производится в режиме 1С “Конфигуратор”.

Для переноса файловой базы на сервер SQL необходимо выполнить следующие действия:

    Открыть конфигуратор файловой базы.

Запускаем базу 1С в режиме Конфигуратор

Выгрузить информационную базу 1С

Успешная выгрузка базы 1С

Особые указания для настройки портов:

  • Выбор портов осуществляется из диапазона от 10 000 до 60 000.
  • Нужно исключить переключение с другими диапазонами.
  • Пример выбора диапазонов: “ 23560:23591, 12560:12591”.
  • Управляющий порт для работы из оснастки: 23540.
  • Порт подключения из 1С: 23541.
  • Пример подключения к кластеру 1С: “:23541; :23541”. Все настройки подключения к базам храниться здесь: *\Users\%username%\AppData\Roaming\1C\1CEStart\ibases.v8i

Создание специальных служб

  • Запускаем командную строку от имени Администратора
  • Команда: Sc create =»C:\Program Files\1cv8\8.3.4.465\bin\ragent.exe» DisplayName= type= own start= auto
  • Вводим в командной строке команду “regedit”
  • Находим строку
  • Редактируем строку “ImagePath”
  • Приводим строку “ImagePath” к виду: «C:\Program Files\1cv8\8.3.5.1098\bin\ragent.exe» -srvc -agent -regport 23541 -port 23540 -range 23560:23591 -d

Создание кластера 1С 8.3

Настройка кластера 1С 8.3:

Удалить кластер

  • Подключаемся к первому серверу по порту: 23540
  • Подключаемся ко второму серверу по порту: 23540
  • На втором сервере удаляем полностью кластер:

Добавляем второй сервер


Заходим в свойства сервера и ставим галочку:

Ставим галочку Да

Первый способ создания базы данных

Название базы в кластере 1С и на SQL сервере могут быть разные.
Заходим в директорию кластеры/локальный кластер/New/информационная база.

Указываем параметры информационной базы:

При отдельном сервере приложений 1С, адрес сервера баз данных может быть прописан в hosts.

Второй способ создания базы данных

Нажимаем кнопку “Добавить”.

Второй способ создания базы 1С

Выбираем пункт “Создание информационной базы”.

    Второй способ создания базы 1С

    Второй способ создания базы 1С

    Второй способ создания базы 1С

    Второй способ создания базы 1С


    Добавляем в 1С: Предприятие пустую базу, которая была создана в кластере 1С.

    Загрузить информационную базу 1С

    Успешная выгрузка базы 1С

    Перезапускаем конфигуратор 1С

    По окончанию загрузки нужно перезапустить Конфигуратор нажатием кнопки «Да»:

    Когда мы рекомендует перенос файловой базы на клиент-серверный вариант
    Наша практика показывает, что файловые базы данных являются оптимальным решением, пока объем базы не превысил 3 Гб.

    Не удается осуществить перенос файловой базы на Microsoft SQL сервер самостоятельно? Оставьте запрос для специалистов IT-Lite: тел. 8(495)646-23-16, email: sales@it-lite.ru.

    Как перевести базу 1с из sql в файловую

    Принесли sql базу данных 1с77. удалось открыть только конфигуратор. как из sql базы сделать файловую?

    выгрузить в файл
    загрузить в пустую файловую базу

    или тебе тока каталог базы принесли?:)

    Если база скульная не очень большая. То через средства 1С 7.7 — Конфигуратор Администрирование выгрузить.
    Получаешь архив выгрузки
    Далее делаешь пустую папку. Добавляешь в список баз. Входишь в нее в конфигураторе. Далее Администрирование — Загрузить и тыкаешь архив выгрузки.

    2 + 2 = 3.9999999999999999999999999999999.

    Как перевести базу 1с из sql в файловую

    Пробовал перенести: 1. выгрузкой загрузкой 2. через обработку обмена (загрузив конфигурацию), не получается. Постоянно выскакивает ошибка: Ошибка DMBS: Превышен максимально допустимый внутренний размер файла
    Есть опыт в решении вопроса?

    Конечно, но тебе они не помогут
    Удалить интересные видео из файловых вложений для начала.

    (0) Это означает что файловую вам не создать.
    Какая-то таблица уже перешла пределы размеров для файловой базы.
    Надо или свертывать или оставаться или постгри.

    (0) Маловероятно, но уточню. Платформа у вас >= 8.3.8?

    (0)> Ошибка DMBS: Превышен максимально допустимый внутренний размер файла

    что именно не понятно в этом сообщении?
    достигнут предельный размер внутреннего файла для файлового варианта
    если это не глюк, то вариант только один — сворачивать исходную базу, из которой производится выгрузка,
    и да, надо было указать конфигурацию, а то может у вас там ERP

    1cd — это по сути контейнер с файлами. Каждый «файл» — это таблица данных или индекс или ещё какая хрень. Так вот, у внутреннего файла есть ограничение в 4Гб. С версии 8.3.8 это ограничение можно «подвинуть» до 6Гб, перейдя на увеличенный размер страницы. Ограничение в данном случае не техническое, а прибито гвоздями, но селяви — это 1с.

    (4) 100% новая база создавалась на платформе выше 8.3.8 со страницами 8К и расширенным лимитом до 6Гб на внутренний файл,
    играться утилитой CNVDBFL.EXE с размером страниц смысла не имеет

    Какова цель переноса в файловую?

    Если цель в том, чтобы легализоваться с пиратки, но при этом не платить за сервер, то путь только один — предварительно найти в sql самую жирную таблицу и принять меры к её уменьшению.

    (7) Ну, чудеса случаются. Кто знает, что за конфигурация и насколько старая.

    (0) попробуй в конфигураторе сделать исправления, типа пересоздание индекса и таблиц, а потом выгрузи в дт

    Лучше уговорите хозяина потратиться на сервер 1с. Всего то полсотни тыр, и проблема решена. А если пользователей до 5, то и мини-сервер пойдет за 14400.

    странно, что при ошибке с сообщением о превышении максимального размера ТС ни словом не обмолвился про фактический размер базы

    ОФФ: ТС закопали.

    Если скуль, стрельни в SSMS скриптом

    SELECT
    tab.name AS TableName,
    part.rows,
    CAST(SUM(allocat.total_pages) * 8 / 1024.00 AS numeric(20,2)) AS TotalMB,
    CAST(SUM(allocat.used_pages) * 8 / 1024.00 AS numeric(20,2)) AS UsedMB,
    CAST(SUM(allocat.total_pages) — SUM(allocat.used_pages) * 8 / 1024.00 AS numeric(20,2)) AS UnusedMB
    FROM
    sys.tables tab
    INNER JOIN
    sys.indexes idx ON tab.object_id = idx.object_id
    INNER JOIN
    sys.partitions part ON idx.object_id = part.object_id AND idx.index_id = part.index_id
    INNER JOIN
    sys.allocation_units allocat ON part.partition_id = allocat.container_id
    GROUP BY
    tab.name, part.rows
    ORDER BY
    TotalMB DESC

    тут нужно поменять

    Потом смотри какие у тебя самые большие таблицы, и прикидывать что в них за данные. Может там какой-нибудь мусор типа служебных логов, или вложенные файлы

    Сорри, пару скобочек потерял

    SELECT
    tab.name AS TableName,
    part.rows,
    CAST(SUM(allocat.total_pages) * 8 / 1024.00 AS numeric(20,2)) AS TotalMB,
    CAST(SUM(allocat.used_pages) * 8 / 1024.00 AS numeric(20,2)) AS UsedMB,
    CAST((SUM(allocat.total_pages) — SUM(allocat.used_pages)) * 8 / 1024.00 AS numeric(20,2)) AS UnusedMB
    FROM
    sys.tables tab
    INNER JOIN
    sys.indexes idx ON tab.object_id = idx.object_id
    INNER JOIN
    sys.partitions part ON idx.object_id = part.object_id AND idx.index_id = part.index_id
    INNER JOIN
    sys.allocation_units allocat ON part.partition_id = allocat.container_id
    GROUP BY
    tab.name, part.rows
    ORDER BY
    TotalMB DESC

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *