По теме из базы знаний
- Архивирование БД. v7. v8. DBF. SQL
- Резервное копирование БД 1С средствами батника и выгрузка файловой базы в dt
- Создание второго кластера Postgresql, включение непрерывного архивирования и подключение 1С
- Копии баз данных и размер БД. Проблемы и пути решения
- В облако на работу: Архивирование postgres. Дайте два
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Чтобы провести архивирование базы данных в оперативном режиме, необходимо проделать следующие шаги:
Сделать резервные копии таблиц пользователей;
Сделать резервные копии системных таблиц;
Сделать резервную копию файла инициализации.
Архивирование таблиц пользователей
Для архивирования таблиц пользователей предварительно надо составить список таких таблиц. Например, можно создать таблицу, в которую можно поместить список таблиц, которые подлежат архивированию:
create table BACKTABL(NAME char(32));
insert into BACKTABL values('BACKTABL');
insert into BACKTABL values('TAB1');
insert into BACKTABL values('TAB2');
insert into BACKTABL values('TAB3');
Для каждой из таблиц, резервную копию которой надо получить, вызвать функцию htBackupTable(). Как правило, интересует также результат выполнения операции архивирования. Для протоколирования операций архивирования можно создать таблицу протокола, в которую и заносить коды завершения операций архивирования.
create table BACKLOG(DTLOG date, TMLOG dword, TBLOG char(32), ERLOG int);
var path = 'c:/backup/';
insert into BACKLOG values(DTLOG, TMLOG, TBLOG, ERLOG)
select today(), gettick(), NAME, htBackupTable(NAME, :path+NAME)
from BACKTABL;
Более сложные действия необходимо проделать, чтобы получить согласованную копию таблиц. Для этого необходимо объявить транзакцию по всем таблицам, согласованную копию которых собираемся получить. И только после этого выполнить функцию htBackupTable для каждой таблицы.
Архивирование системных таблиц
Для архивирования системных таблиц в оперативном режиме, необходимо вызвать функцию htCatalogBackup(). Эта функция создаст архивный файл, содержащий системные таблицы, коды хранимых процедур и коды триггеров, хранящихся на сервере.
Архивирование файла инициализации
Файл инициализации в процессе работы используется только для чтения параметров и никак не меняется. Поэтому для создания резервной копии файла инициализации достаточно скопировать его командой операционной системы. Команду операционной системы можно выполнить и с помощью функции system() из SQL-скрипта.
Сделать резервные копии таблиц пользователей;
Сделать резервные копии системных таблиц;
Сделать резервную копию файла инициализации.
Архивирование таблиц пользователей
Для архивирования таблиц пользователей предварительно надо составить список таких таблиц. Например, можно создать таблицу, в которую можно поместить список таблиц, которые подлежат архивированию:
create table BACKTABL(NAME char(32));
insert into BACKTABL values('BACKTABL');
insert into BACKTABL values('TAB1');
insert into BACKTABL values('TAB2');
insert into BACKTABL values('TAB3');
Для каждой из таблиц, резервную копию которой надо получить, вызвать функцию htBackupTable(). Как правило, интересует также результат выполнения операции архивирования. Для протоколирования операций архивирования можно создать таблицу протокола, в которую и заносить коды завершения операций архивирования.
create table BACKLOG(DTLOG date, TMLOG dword, TBLOG char(32), ERLOG int);
var path = 'c:/backup/';
insert into BACKLOG values(DTLOG, TMLOG, TBLOG, ERLOG)
select today(), gettick(), NAME, htBackupTable(NAME, :path+NAME)
from BACKTABL;
Более сложные действия необходимо проделать, чтобы получить согласованную копию таблиц. Для этого необходимо объявить транзакцию по всем таблицам, согласованную копию которых собираемся получить. И только после этого выполнить функцию htBackupTable для каждой таблицы.
Архивирование системных таблиц
Для архивирования системных таблиц в оперативном режиме, необходимо вызвать функцию htCatalogBackup(). Эта функция создаст архивный файл, содержащий системные таблицы, коды хранимых процедур и коды триггеров, хранящихся на сервере.
Архивирование файла инициализации
Файл инициализации в процессе работы используется только для чтения параметров и никак не меняется. Поэтому для создания резервной копии файла инициализации достаточно скопировать его командой операционной системы. Команду операционной системы можно выполнить и с помощью функции system() из SQL-скрипта.
(9) Попробуйте запускать любым шедулером, их как грязи. Но архивирование rar'ом не гарантия целостности бэкапа, если пользователи работают постоянно. Rar может ругнуться или на отсутствие доступа к таблице, если она заблокирована пользователем (и соответственно прервать архивацию), или последовательно заархивировать таблицы в процессе записи данных, что может привести к отказу 1С запускаться из восстановленного бэкапа.
Если не запускается попробуйте логи почитать Мой компьютер (правой кн мыши) - Управление - Просмотр событий и там ищите. Может некорректно срабатывает потому что к базе кто-то подконеекчен? (ну это один из вариантов), а так может сторонний какой нить софт поможет - поищите в гугле!
(11) 1CLeXx, К базе подключены все 24 часа в сутки вот в этом то и вся проблема в первом сообщение об этом говорится.
Я поясню. В общем ситуация такова, все представляют што такое аэропорт, так вот база используется и днем и ночью 24 часа в сутки, так как люди постоянно куда то летают.
Я поясню. В общем ситуация такова, все представляют што такое аэропорт, так вот база используется и днем и ночью 24 часа в сутки, так как люди постоянно куда то летают.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот