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

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

  • автор:

Перенос базы из файловой версии в MSSQL

Добрый вечер, имеется рабочая база 1С Предприятие 8.3, требуется ее из файловой версии перенести в MS SQL Express 2016.
Как правильно перенести? Будут ли сохранены параметры аутентификации?

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Версии MSSQL
Здравствуйте, проблема в следующем, на компьютере установлены как MSSQL 2008, так и MSSQL 2012.

Не получается запустить регламентные задания в файловой версии
Не получается запустить регламентные задания в файловой версии. Процедура.

Перенос БД из MSSQL 6.5 на MSSQL 7.0
Как перенести базу с сервера 6.5 на сервер 7.0? Серверы стоят на разных компьютерах. В помощи.

Перенос БД MSSQL на MySQL
Подскажите господа бесплатную утилитку, или ссылочку на крякнутую платную _) Заранее спасибо)

Эксперт 1С

434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,247

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

48 / 48 / 11
Регистрация: 25.11.2011
Сообщений: 275
Не получется Агент SQL Server-a запустить )
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Перевод Файловой базы в SQL
Перевел файловую базу 1С 7,7 в SQL server 2008(ОС Server 2008), сделал всё, как описано здесь: .

Перенос данных с Acces в MSSQL
Собственно, как лучше сделать копирование данных из Access в MSSQL программно?

Перенос функции с mssql на pgsql
Приветствую! Нужна помощь в переносе функции: ALTER FUNCTION . (@id int) RETURNS nvarchar(max).

Перенос данных из таблицы MySQL в MSSQL
Здравствуйте! Прошу вас помочь в данной ситуации, а ситуация такова! Существует таблица в MySQL, в.

Как ускорить работу в 1с для файловой базы?
Приветствую. На сервер лежит база 1с бухгалтерия 8.3 файловый режим без сжатия. К ней.

База MSSQL и перенос приложения на другой компьютер
Доброго времени суток бойцы. такой вопросик хотелось бы задать. Написал я приложение.

Как файловую базу 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

Переезд файловой базы 1с на sql работу

На следующей неделе я буду осуществлять переезд файловой базы на связку кластер + сервер базы данных и вот мне хочется уже заранее проработать все шаги в тестовых условиях прежде чем проходить все это в боевых и на боевой системе.

Как всегда данная заметка опирается на то, где я показал как создавать бекап файловой базы 1С на действующем терминальном сервере:

после этот заметки у меня на выходе имеется файл конфигурации базы (расширение *.dt)

Подключаюсь по RDP к серверу (srv-bd3 под управлением Windows Server 2008 R2 Enterprise) где развернут сервис базы данных (установка аналогична заметке)

и в оснастке SQL Server 2014 Management Studio создаю новую базу данных.

Mstsc /v:srv-bd3

Start — All Programs — Microsoft SQL Server 2014 — SQL Server 2014 Management Studio, подключаюсь в текущую систему:

Server type: Database Engine

Server name: srv-bd3

Authentication: Windows Authentication

и нажимаю Connect, затем когда подключение оснастки sql management прошло успешно создаю новую базу данных:

srv-db3 (SQL Server 12.0.4213.0 — POLYGON\aollo) — и через правый клик мышью на Databases вызываю меню New Database…, далее заполняю поля создания новой базы данных:

Database name: alfa

Owner: Нажимаю Обзор () — Browse — отмечаю галочкой объект который будет владельцем данной базы, выбираю себя [POLYGON\aollo] и нажимаю OK, OK

После чего нужно предопределить согласно моей заметке параметры работы для , повторяться по новой я не буду, как только все параметры буду предопределены нажимаю OK тем самым создается новая БД.

Отлично, теперь подключаюсь к серверу на котором у меня развернут кластер и создаю новое подключение к созданной базе данных выше по данной заметки:

mstsc /v:srv-1c82-1c

Start — All Programs — 1C Предприятие 8.2 — Дополнительно — Администрирование серверов 1С Предприятия — Console Root — Central 1C:Enterprise 8.2 servers — srv-1c82-1c — Кластеры — 1541 — и через правый клик мышью по «Информационные базы» создаю новое подключение к информационной базе — NewИнформационная база:

Имя: alfa

Описание: alfa

Защищенное соединение: выключено

Сервер баз данных: 10.7.7.100

Тип СУБД: MS SQL Server

База данных: alfa

Пользователь сервера БД: sa

Пароль пользователя БД: 712mbddr@

Разрешить выдачу лицензий сервером 1С:Предприятия: Да

и нажимаю после кнопку OK — если все параметры подключения указаны верно новая информационная база будет создана.

Теперь запускаю клиент 1С (8.2.19.121) в режиме конфигуратора на подключение к этой базы и к этому кластеру . На хосте srv-1c82-1c проделываю:

Start — All Programs — 1C Предприятие 8.2 — Дополнительно — 8.2.19.121 — Конфигуратор и настраиваю подключение к информационной базе:

Список информационных баз пуст. Добавить в список информационную базу? — отвечаю Да

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

Выберите вариант подключения к информационной базе: На сервере 1С:Предприятие

и нажимаю Далее

Кластер серверов 1С:Предприятия: srv-1c82-1c

Имя информационной базы в кластере : alfa

и нажимаю Далее

Вариант аутентификации: Выбирать автоматически

и нажимаю Готово

Итак подключение к информационной базе прописано в клиент — теперь подключаюсь к этой базе в режиме «Конфигуратор», подключение проходит без какой либо аутентификации.

Теперь открываю меню «Администрирование» — Загрузить информационную базу — указываю путь до месторасположения выгруженного скриптом резервной копии ( BazaAlfa_2016_06_05_23_05_08.dt ) и нажимаю Open, на появившееся сообщение:

После загрузки информационной базы работа Конфигуратора будет завершена. Не сохраненные данные в открытых окнах могут быть потеряны. Продолжить? Отвечаю «ДА» и ожидаю покуда завершится процесс загрузки (чем больше файл dt тем дольше загрузка).

Ожидаю покуда окно «КонфигураторКонфигурация» не закроется автоматически само, но перед этим должно появиться всплывающее окно с вот таким вот текстом:

Информационная база успешно запущена.

Работа Конфигуратора будет завершена.

Нажимаю Нет.

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

А вот теперь когда бекап sql средствами готов можно уже прописать настройки подключения к кластеру и базе пользователям, они же ничего и не заметят, т. к. для них ни каких существенных изменений не произойдет за исключением что понадобиться системный администратор который изменит настройки подключения, хотя и даже это можно сделать прозрачно всего лишь навсего подменить файл ibases.v8i на рабочих местах.

Проверяю, что могу авторизоваться в базе данных (можно проверить как на клиентской станции так и на самом кластере ):

Start — All Programs — 1C Предприятие 8.2 — Дополнительно — 8.2.19.121 — 1С Предприятие (тонкий клиент) — настройки подключения уже имеются (я запускаю клиент на кластере ) — 1С:Предприятие — предо мной предстает окно где нужно указать имя пользователя и его пароль на подключение к базе, в моем случае я ранее был заведен в административных целях в файловой базе, а потому идентифицируюсь:

Пользователь: aollo

Пароль: Aa1234567

и нажимаю «ОК» — подключение успешно проходит (как я и говорил выше пользователь не заметит разницы что было до и что стало после)

Успешный переход с файловой базы 1с 8.2 на SQL вариант

Вот видите в этом нет ничего сложного чтобы перенести файловую базу на SQL‘ный вариант, достаточно попробовать в тестовых условиях и пройтись по всем шагам и уже последующий перевод в боевой среде для Вас (также как и для меня ранее) не будет таким пугающим. В целом я доволен полученным результатом, теперь как ранее я настрою план обслуживания и уведомления и работа с вот такими вот перенесенными базами будет более продуктивной. В итоге план будущего переноса таков:

  • На файловой базе запускаю свой скрипт создания резервной копии
  • Копирую резервную копию базу (файл с расширением *.dt) на кластер
  • На сервере где развернут SQLServer создаю базу
  • На кластере подключаю созданную базу
  • Подключаюсь клиентом в режиме конфигуратор к заведенной в кластер базе и импортирую в нее выгруженную базу из расширения (dt) и ожидаю.

Вот собственно и все что нужно сделать по переносу файловой работы с на более быстрый и удобный в плане администрирования вариант работы. На этом я прощаюсь и до новых встреч, с уважением ekzorchik.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником — ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог — это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору.

Выбор СУБД для 1С — файловая или SQL?

Данная статья будет интересна руководителям небольших и средних предприятий. Когда они решают внедрить у себя 1С, то возникает проблема: какую СУБД для 1С выбрать — файловую или SQL?

Рассмотрим для сравнения файловую базу и клиент серверную SQL.

СУБД для 1С

СУБД — это система управления базой данных. В платформе 1С:Предприятие внедрена поддержка таких видов СУБД:

1. Файловый (встроенный в 1С);

2. MS SQL Server;

3. Oracle;

4. IBM DB2;

5. PostgreSQL;

Понятно, что у каждой системы есть свои отличительные характеристики. Остановимся на них подробнее:

Файловый вариант 1С

Данный способ внедрения 1С:Предприятие считается наиболее простым. Для того, чтобы его применить не надо устанавливать дополнительное программное обеспечение. Этот вариант включает в себя общедоступный файл базы данных, работать с которым можно через сеть.

Плюсы:

1. Легко настраивать.

2. Не надо дополнительных программ.

3. Бюджетный (не дорогой) вариант.

Минусы:

1. Нет гарантии безопасности. Каждый, кто работает в системе, может сделать копию БД.

2. Малая масштабируемость. Т.е. иногда система «тормозит». На снижение скорости влияет количество пользователей, уже начиная с 5-7.

3. Не весь функционал работает. Часть функций будет отсутствовать, к примеру, регламентные задания.

4. Ограничение в размере базы (4-12 гб).

Клиент-серверная СУБД для 1С

Этот принцип построения структуры дает повышенную надежность от отказов и сбоев, а также высокую степень безопасности. Данная система позволяет одновременно работать до пяти тысячам пользователей и больше.

Плюсы:

1. Высокая отказоустойчивость.

2. Возможность подключить значительное число рабочих мест одновременно.

3. Нет ограничения в размере БД.

4. Есть бесплатные СУБД (PostgreSQL).

Минусы:

1. Все же далеко не всеми СУБД можно пользоваться бесплатно, ценник на самые передовые (MS SQL Server) довольно большой.

2. Требуется администрирование SQL сервера.

Инструкция по переходу с файловой базы на SQL

Итак, если выбор сделан в пользу клиент-серверного режима, то для того, чтобы перенести базу 1С 8.3 (8.2) с файловой системы, необходимо проделать следующие шаги:

1. Создать новую БД 1С в SQL.

2. Выгрузить файл *.dt из файловой базы (Конфигуратор — Администрирование — Выгрузка информационной базы).

3. Загрузить этот файл в новую базу (Конфигуратор — Администрирование — Загрузка информационной базы).

Подведем итоги

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

1. Для небольшой организации с умеренным документооборотом разумно на первое время остановится на файловом варианте.

2. Если объем информации значительный, то лучше сразу выбрать клиент-серверный вариант.

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

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

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