У меня есть демонстрационный сайт, где любой может войти и протестировать интерфейс управления.
Каждый час я хотел бы сбросить все данные в Базе данных SQL 2008 и восстановить его из оригинала.
Красное программное обеспечение Логического элемента имеет некоторые потрясающие инструменты для этого, однако они вне моего бюджета прямо сейчас.
Я мог просто сделать резервную копию файла данных базы данных, затем иметь c# консольное приложение, которое удаляет его и копирует по оригиналу. Затем я могу иметь, окна планируют задачу выполнять .exe каждый час.
Это просто и свободно..., это работало бы?
Я использую веб-выпуск R2 SQL Server 2008 года
Я понимаю, что Красное программное обеспечение Логического элемента технически лучше, потому что я могу установить его, чтобы проанализировать дб и только обновить записи, которые были изменены, и подход, который я имею выше, похож на "молоток саней".
Это просто и бесплатно... будет ли это работать?
Да, вы можете сделать это таким образом, только не забудьте перевести БД в однопользовательский режим перед восстановлением, иначе восстановление будет неудачным
пример скрипта
USE master
GO
ALTER DATABASE YourDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
RESTORE DATABASE YourDB FROM DISK=N'D:\Backup\Pristine.BAK' WITH FILE = 1,
NOUNLOAD, REPLACE, STATS = 10
GO
ALTER DATABASE YourDB SET MULTI_USER
GO
Это может быть написано с использованием сценария SQL и запланировано как задание на сервере для выполнения один раз в час. Поскольку у вас есть резервная копия, я предполагаю, что она в чистом виде, то все, что вам нужно сделать, это отключить базу данных, восстановить из резервной копии и снова подключить базу данных. Все это можно написать по сценарию. Вам нужны скрипты?
Вы также можете отсоединить базу данных, перезаписать файлы данных и журнала из вашего шаблона (ранее отсоединенного), а затем повторно присоединить.