Имеем.
1) Основной 1С сервер - Server 2016 + SQL 2016. Назовём его источник.
2) Резервный 1С сервер - Server 2016 + SQL 2016. Назовём его - приёмник.
Необходимо
1. По расписания (1 раз в день) делать резервную копию базы 1C с источника.
2. Сразу после выполнения п.1 разворачивать базу 1С на приёмнике.
3. Выполнять резервное копирование в dt с базы развёрнутой п.2.. Этот пункт можно упустить, т.к. он элементарный но..
после развёртывания база в SQL+1C должна быть полностью рабочая - без лишних
телодвижений, вроде установка владельца базы, перевода из автономного режима в рабочий и т.п..
Софта пересмотрели много разного. Например у Handy Backup есть такой функционал, но толком и без костылей он не работает.
В общем перепробовали много чего, вышли на результат, но он нас не устраивает. Поэтому готовы хорошо отблагодарить за готовое решение или помощь в настройке тонкостей.
(1)Я у себя на предприятии настроил такую схему: Есть сервер SQL 2008 на нем существует база 40Гб, ночью делается backup и копируется на другой сервер по интернету, затем другой сервер SQL2016 восстанавливает эту базу к себе (переводя базу в монопольный режим ит.д.). Что имеем: всегда имеем рабочую базу на время - ночь, в ней можно делать что угодно, т.к. ночью она восстановится, ее можно проверять на битые ссылки тестировать и смотреть результат ит.д. Написаны скрипты на SQL и PoweShell в самом sql сторонних программ не используем. По разным событиям отправляется почта с sql сервера. dt файл не делаем т.к. база растет и восстановление с этого файла занимает очень много времени и чем дальше, тем менее вероятно, что она восстановится. Так же на первом сервере настроены расписания (стандартный виндовый) перед выгрузкой с SQL 2008: загрузка изменений в рабочую базу, отправка писем контрагентам ит.д. Все эти действия происходят в автоматическом режиме без участия пользователя.
(4) а примерчика скриптов нет случайно? хотим тоже самое у себя сделать.
Полный цикл настройки SQL сервера с архивированием это целая статья у меня на такое даже времени нет, что бы с нуля все расписать. На просторах инфостарта есть не мало таких статей. Лучше по ним делать, а если уперлись куда то, тогда задавать вопрос.
У себя использую Группы доступности MSSQL.
Резервное копирование средствами MSSQL. Тут использую хорошие скрипты от Ola Hallengren, которые позволяют организовать резервное копирование баз данных, входящих в группу доступности.
Средствами MS SQL Server делать по расписанию полный бэкап базы в определенную папку с определенным именем. На резервном сервере также по расписанию, смещенному по времени, восстанавливаем уже известный нам бэкап
Вам всё таки если без костылей в видео PS скриптов, то нужно использовать РИБ как более простой инструмент, если конечно нет каких либо тонкостей о которых мы не знаем.
(9)моё дело было предложить, против всяких НО можно найти миллионов миллион, так же я указал что всё так же делается через скрипты, как бы варианты на любой цвет и вкус
Всю задачу можно выполнить только SQL запросами и заданиями на SQL серверах.
1, Задание по расписанию на первом сервере "полный бекап базы".
2. В этом же задании копирование базы с первого сервера на второй (sql запросом в MSSQL можно выполнять команды системы с правами учётной записи от имени которой запущена служба sql сервера )
3. После окончания копирования с первого сервера команда на запуск задачи на восстановление базы на втором сервере.
Всякие нюансы по владельцу базы и режимам работы в скрипте восстановления на втором сервере.
1) Выполняется по расписанию на первом сервере
BACKUP DATABASE [РабочаяБаза] TO DISK = N'\\ПутьКФайлуАрхива.bak' WITH INIT , NOUNLOAD , NAME = N'Backup РабочаяБаза', NOSKIP , STATS = 10, NOFORMAT
2) Выполняется на втором сервере со смещением по времени.
RESTORE DATABASE КопияРабочейБазы
FROM DISK = N'\\ПутьКФайлуАрхива.bak'
WITH FILE = 1,
MOVE ''ФайлДанных'' TO ''НовоеРасположение.mdf'',
MOVE ''ФайлЛог'' TO ''НовоеРасположение.ldf'',
RECOVERY, REPLACE
3) xp_cmdshell и команда в консоли на втором сервере, как вариант, чтобы сразу после восстановления.
з.ы. Если связать сервера через линкед сервер, то возможно выполнение все шагов с одного сервера.
Если нагрузка не датацентра, то сделайте просто синхронизированный сервер и зеркалируйте каждую транзакцию в него средствами SQL. Всегда будет актуальная копия Вашей БД.
ПС В SQL MS на самой базе правый жмак - задачи - создать зеркальное отображение
Готов помочь, но нужно смотреть нюансы, пишите лично.
Нет времени делать публикацию, но есть решение на SQL для ежедневного резервного копирования баз 1С с хранением истории, есть скрипты и хранилки для развертывания этих бэкапов в базы для разработчиков. Модифицировать это все под Ваш случай не вижу проблем.
Ну и, как писали раньше, есть варианты с AlwaysOn, зеркалированием или доставкой журналов транзакций, они тоже рабочие. От инфраструктуры и лицензий SQL сильно зависит выбор решения, также от модели восстановления Ваших баз.