Как выгрузить базу 1с с сервера

Обновлено: 02.07.2024

На сайте много раз обсуждались варианты выгрузки данных из 1С. На нашем предприятии для выгрузки из 1С8 на SQL используется следующий, как мне кажется самый простой, способ выгрузки. Ночью запускается задание на SQL сервере. Задание состоит из одного выполняемого файла ( bat- файла).

В файле перезагружается сервер 1С:Предприятие, при этом сбрасываются все соединения (если кто-то вечером не вышел из программы). Затем происходит выгрузка стандартными средствами 1С.

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

Вот пример такого файла:

rem Выгрузка рабочих БД пакетном режиме

rem Создаём папку текущей даты

rem Выключение службы, затем пауза на 30 секунд, затем включение службы, затем пауза на 30 секунд.

sc stop "1C:Enterprise 8.1 Server Agent"

ping -n 30 localhost

sc start "1C:Enterprise 8.1 Server Agent"

ping -n 30 localhost

rem Резервное копирование баз .

"C:\Program Files\1cv81\bin\1cv8.exe" CONFIG /S"Server1C\UPP" /N" Администратор " /P"123456" /DumpIB"E:\BackUP\%date:

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Основная хитрость здесь состоит в том, что MS SQL должен быть на том же сервере, что и сервер приложения. В моей конторе они разнесены по разным хостам. Так что данное тех. условие было бы неплохо прямо обозначить в описании к скрипту. никто не мешает этот скрипт запускать обычным виндовым шедулером Для 1С 8.2(по-моему для 8.1 тоже) существует более мягкий способ сбрасывать подключения - через отключение сессий и сеансов, так, например, можно не вырубать конфигуратор с кучей важных изменений :)
А в остальном использую такой-же алгоритм, в нём удобство - это получение готовых *.dt для развертки системы. daulberg
Какой-то неактуальный скрипт в замесе со скулой. Как правило на MSSQL крутят базы с жирностью, превышающей возможность бакапа средствами 1С. Все это работает, но вы загляните в журнал событий Windows и там увидите кое что (предупреждения), относящееся к остановке службы. А нельзя ли как то подкрутить, чтоб уж совсем красиво и корректно было?

Просмотры 20186

Загрузки 0

Рейтинг 18

Создание 25.10.10 11:39

Обновление 15.11.10 11:24

№ Публикации 77326

Тип файла Нет файла

Конфигурация Конфигурации 1cv8

Операционная система Не имеет значения

Страна Россия

Вид учета Не имеет значения

Доступ к файлу Бесплатно (free)

Код открыт Не указано

54-ФЗ: Онлайн-кассы для 1С 7.7 (с поддержкой маркировки ЕГАИС, ТАБАКА, ОБУВИ, ЛЕКАРСТВ и пр.)

См. также

Скрипт удобного восстановления базы MSSQL при дифференциальном резервировании Промо

Если у Вас база на MSSQL и Вы пользуетесь разностными бекапами, то, скорее всего, столкнулись с тем, что поднять базу/копию базы из имеющихся резервных файлов не столь удобно, как того хотелось бы. В этой статье приведен скрипт по теме.

20.01.2011 31169 Ivon 12

Резервное копирование PostgreSQL 12 и восстановление на определенный момент времени

Непрерывное архивирование базы данных PostgreSQL на 12ой версии и восстановление на определенный момент времени.

11.08.2021 2333 Vismut 5

Классическое резервное копирование

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

04.02.2021 1385 creatermc 11

Управление конфигуратором в режиме агента с помощью python

Управление конфигуратором 1С:Предприятие в режиме агента. Опыт применения с реализацией на языке python. Результат получен с использованием интерактивной сессии оболочки через invoke_shell().

06.08.2020 2025 Alex10166 2

Восстановление SQL базы 1С 8.2. рухнувшей во время сохранения конфигурации. Промо

08.02.2012 134770 VanDiesel1 139

Выгрузка в dt на сервере 1С по расписанию с завершением соединений и подключением к консоли сервера через com

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

16.04.2020 9066 karamazoff 48

Тонкая настройка ежедневного резервного копирования базы данных 1С средствами SQL ver. 2014 (SP3) - 12.0.6024.0 (X64)

Хочу вам предложить небольшой пример, как можно реализовать резервное копирование 1С-ых баз данных средствами SQL. Данный материал не претендует на пулитцеровскую премию. Но возможно кому-то будет интересно узнать, что-то новенькое. Данный материал для резервного копирования только одной базы данных. А именно, если у вас 20-ть баз, то вам придется создавать 20-ть планов обслуживания для каждой базы индивидуально. (Слава разработчикам SQL, они разрешили копировать блоки из одного плана в другой, вам остается только произвести небольшую настройку для каждого скопированного блока - некоторые настройки блоков сбрасываются и выставляются значением по умолчанию и остаются неактивными)

07.10.2019 14588 DrZombi 53

Быстрое копирование таблиц большого размера и/или с большим числом строк, на примере регистра сведений (для MS SQL)

Моментальное восстановление затертого регистра сведений из бекапа посредством SQL.

11.08.2019 8405 Zlohobbit 25

К вопросу об архивации баз 1С (и снова, и снова. ) Промо

Из своего опыта хочу напомнить о самом простом способе архивации баз типовыми средствами 1С и планировщика Windows.

08.01.2010 27172 grum01 14

Настройка резервного копирования (резервирования) баз данных 1С: Предприятие на MS SQL Server

Настройка резервного копирования (резервирования) баз данных на "бюджетной" версии 1С Предприятие под MS SQL Server. Используется пример MS SQL Server 2008 R2 под Windows. Для малых и средних предприятий, исключая производственные и торговые, так как тестирование на них не проводилось.

30.10.2018 13263 unclevad 16

Работа с конфигуратором по протоколу SSH (не в режиме агента)

Рабочее решение запуска пакетного скрипта конфигуратора 1С через SSH-клиента.

28.04.2018 11339 vsbronnikov 2

Резервное копирование "онлайн" клиент-серверных баз в dt (не отключая пользователей)

Как реализовать резервное копирование клиент-серверных баз 1с в формат dt, не отключая пользователей. Рассматривается способ, делающий резервирование наименее заметным для пользователей и серверного оборудования.

03.10.2017 26751 konstanta_online 82

Настройка зеркалирования базы для MS SQL

Очень удобный способ, когда нам нужна не просто резервная копия, а "горячая" замена серверов.

19.05.2017 34374 MsDjuice 20

Рекомендации по организации резервного копирования для систем с Windows Server / Windows SQL Server

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

10.10.2016 20149 Zebar 12

Резервное копирование и восстановление базы 1С средствами PostgreSQL

Алгоритм резервного копирования баз 1С: 8 средствами PostgreSQL.

01.08.2016 75958 dimisa 35

Как я восстанавливал разрушенную базу

УТ10.3 на Платформе 8.2 на базе MSSQL была разрушена после попытки её восстановить после неудачного динамического обновления. Таблица Config целевой базы была заменена на содержимое таблицы Config от другой рабочей базы. Но на самом деле конфигурации у них существенно отличались, поэтому после таких действий целевая база рухнула окончательно. Что же делать?

21.08.2015 30562 METAL 25

Просто и сердито. Архивирование (backup) типовых конфигураций 1С 8.2, 8.3

После эксплуатации различных "бесплатных" обработок и скриптов решил написать свой cmd-файл для ежедневного архивирования баз 1С. Работает на конфигурациях, где есть процедуры "ЗавершитьРаботуПользователей" и "РазрешитьРаботуПользователей" (т.е. во всех типовых, в нетиповые данные модули можно скопировать из типовых). Сохраняет файлы как локально так и на удаленном файловом сервере. Автоматически удаляет старые архивы и копирует на удалённый сервер отсутствующие. Расписание задается установкой соответствующего задания (запуска cmd-файла по времени) в планировщике задач Windows. Для борьбы с зависшими сеансами, рекомендуется настроить в режиме конфигуратора параметры информационной базы: "Время засыпания пассивного сеанса" и "Время завершения спящего сеанса".

18.06.2015 18950 Prelude 14

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

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

Файл с расширением *.bak – это резервная копия 1с выгруженная из 1с сервера. Иногда системный администратор или программист 1с не имеет возможности выгрузить резервную копию через конфигуратор. Так же бывают случаи, когда требуется произвести “холодное копирование” без выхода пользователей из базы данных программы. Для этого используют программу управляющую базами данных в формате SQL – microsoft SQL Manager Studio. Данная программа может быть установлена на ваш компьютер или сервер только в том случае, когда ваша информационная база имеет структуру SQL.

Как производится выгрузка базы данных в формате BAK?

  1. Заходим в Microsoft SQL Manager Studio. Для входа используем требуемый тип авторизации, указываем пользователя и пароль обладающего правами редактирования и выгрузки ИБ (обычно имя такого суперпользователя SA, а пароль задается при установки данной программы);
  2. Во вкладке Базы данных выбираем нужную базу данных и кликаем по ней правой клавишей мышки.
  3. В появившемся контекстом меню выбираем пункт Задачи – Создать резервную копию.
  4. В новом окно оставляем все настройки по умолчанию. Обращаем внимание на путь, по которому сохраниться выгружаемый нами backup.
  5. База данных выгружена, можем загрузить её на другой компьютер с установленным ранее MS SQL серверов и сервером 1с предприятия.

Важно обратить внимания что MS SQL Server бывает разных версий (2008, 2012, 2016, 2019) и пункты меню могут отличаться.

Как преобразовать копию 1С в формате bak в DT или 1CD?

Если нам прислали копию базы в формате *bak и нам следует конвертировать этот файл в формат 1С (*dt или *.1CD) для этого нам потребуется ряд программ.

Microsoft SQL Manager Studio

Сервер 1С предприятия

После установки вышеперечисленного ПО в программе Администрирование серверов 1с предприятие мы можем создать новую информационную базу. После этого, зайдя в MS SQL Manager Studio можем выбрать данную базу и загрузить в неё bak файл. Слепок базы можно добавить в платформу 1С предприятие и выгрузить через конфигуратор.

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

Весь код ограничился одной процедурой, в моем случае процедура запускалась на самом сервере 1С из другой базы, поэтому, когда перед выгрузкой отключал все сеансы, проблемы с отключением самого себя не стояло.

1. ищет базу на сервере 1С по имени.

2. завершает все сеансы найденной базы.

3. ставит запрет регламентных заданий.

4. выгружает dt по определенному пути.

5. снимает запрет регламентных заданий.

Я сделал на сервере новую пустую базу, добавил регламентное задание с расписанием, в котором прописал свою процедуру, уже год работает без сбоев.

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Запилил подобное по CentOS скриптом, использующим ibcmd и rac , но для других целей.
Ибо сохрание бэкапов в *.dt - это самоубийство! starik-2005; ipoloskov; user774630; o4karek; BurlakovIvan; GreenDragon; Summer_13; + 7 – 1 Ответить

Не рекомендуется использовать данный способ для создания резервной копии информационной базы по следующим причинам :

(22) Ну, стрелять себе в колено тоже не запрещается. Так себе аргументация.
и так не получится, так как этого файла и нет - база клиент-серверная же. (29)Про колено - аргументация ещё слабей. Как раз на уровне "сам дурак"
Ну и вырывать из контекста 1cv8.1cd не надо. Это про файловый вариант. (31) А зачем про файловый, если мы тут про клиент-сервер. Тут у вас контекст не тот.
И при чём тут "сам дурак"?

стрелять себе в колено и сам дурак imho аргументы одинаковой информативности.
Просто не в первый раз вижу, что на вопрос, почему выгрузка в .dt плоха в качестве архивной копии, отвечают в духе "потому что" либо ссылаются на 1С как на неоспоримый авторитет. В этот раз наконец-то решил посмотреть, а какова всё-таки позиция самой 1С. Как это обычно и бывает, совершенно не такая, как, похоже, представляет себе большинство.
Моя интерпретация такая: 1С не рекомендует использовать выгрузку в качестве архивной копии, т.к. это не гарантирует в определенных случаях целостности данных и занимает продолжительное время. При этом в документации аж в нескольких местах приводится практически один и тот же текст, о каких ситуациях идёт речь. Но при этом та же 1С говорит, что выгрузка - наиболее универсальный способ хранения и передачи образа базы данных.
Так что "не рекомендует" - обычная, imho,подстраховка со стороны 1С от возможных наездов. Способ хранения архивов, внедрённый 1С для файловых версий, позволяет сохранить базу со всеми имеющимися в ней ошибками и достаточно быстро. А на файл-серверных решениях 1С просто перевела стрелки на производителей СУБД.
При этом (я сужу по собственному опыту и собственному кругу общения) большинство разработчиков 1С предпочитает иметь дело с выгрузкой, а сисадмины - с теневыми копиями для файловых версий и дампами для sql.
Ну а далее - всё зависит от поставленной задачи и исполнителя. Я, как сисадмин, предпочёл бы решить подобную задачу способом, предложенным в ( 13 ) , потому что конкретно в моих условиях выгонять пользователей из базы на продолжительное время (надо ведь учесть ещё и затраты на тестирование базы перед выгрузкой) не реально. И это, на мой взгляд, наиболее оптимальный способ. И не требует каких-то мифических тестовых серверов, как у ( 23 ) , да и не опирается на недокументированные особенности толком ещё не обкатанной технологии ( 17 ).
Но, опять же, всё зависит от задачи и от исполнителя.

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

На тарифе "Бухгалтер" RDP-соединение отсутствует, а на тарифах "Комплект" и "Конструктор" пользователь может подключить эту функцию.

Выгрузка информационной базы

Подключитесь к серверу через ярлык удалённого рабочего стола (RDP).


Запускаем программу 1C.



В меню программы выбираем пункт "Администрирование", подпункт "Выгрузить информационную базу".


Указываем место, куда произойдёт выгрузка архива. Например "Рабочий стол". Также, можно задать своё имя для архива. По умолчанию, оно задаётся как "1Cv8".


Нажимаем кнопку "Сохранить".


Это означает, что база сохранилась в файл на Рабочем столе.


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

Загрузка базы

. ВНИМАНИЕ . После загрузки архива в существующую базу, данные хранящиеся в этой базе исчезнут и заменятся теми данными, что находятся в загружаемом архиве. Никакого объединения данных хранящихся в текущей базе с данными из архива - не происходит. Если база, в которую происходит загрузка - пустая, то опасений быть не может.

Запускаем программу 1C.



В меню программы выбираем пункт "Администрирование", подпункт "Загрузить информационную базу".


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


Программа предупреждает нас, что произойдёт замена существующей базы на загружаемую. Нажимаем "Да".


Читайте также: