Я делаю проект в C#. Я использую базу данных sql в своем проекте. Я хочу включить функцию резервного копирования и восстановления базы данных проекта. Что мне нужно делать/кодировать?Добавление функции резервного копирования и восстановления базы данных?
ответ
Вы хотите сделать резервную копию полной базы данных или хотите только восстановить состояние до изменения базы данных?
Первое, что необычно сделать изнутри вашей программы, в конце концов: вы уверены, что никто другой не меняет базу данных при резервном копировании?
Последнее довольно часто: перед внесением нескольких изменений в базу данных вы помните, как это было до изменения, внесите изменения и решите, хотите ли вы сохранить изменения или вернуться к ситуации, прежде чем изменять ее , например, из-за ошибок.
Последнее выполняется с использованием класса System.Data.SqlClient.SqlTransaction.
using (var sqlConnection = GetSqlConnection(...))
{
try (sqlConnection.Open()
{ // before making the changes: remember the state of the database
using (var transaction = sqlConnection.BeginTransaction())
{
bool changesOk = true;
try
{
changesOk = ChangeDatabase(...);
}
catch (Exception exc)
{
changesOk = false;
}
if (!changesOk)
{ // go back to the state at the beginning of the transaction
transaction.RollBack();
}
else
{ // no error: save the changes:
transaction.Commit();
}
}
}
}
Я хочу сделать резервную копию полной базы данных и восстановить ее. –
**Backup and Restore SQL Server databases programmatically with SMO **
SMO предоставляет вспомогательные классы для выполнения конкретных задач. Для резервного копирования и восстановления он предоставляет два основных класса утилиты (Резервное копирование и восстановление), которые доступны в пространстве имен Microsoft.SqlServer.Management.Smo.
Это пример кода.
Backup bkpDBFull = new Backup();
/* Specify whether you want to back up database or files or log */
bkpDBFull.Action = BackupActionType.Database;
/* Specify the name of the database to back up */
bkpDBFull.Database = myDatabase.Name;
/* You can take backup on several media type (disk or tape), here I am
* using File type and storing backup on the file system */
bkpDBFull.Devices.AddDevice(@"D:\AdventureWorksFull.bak", DeviceType.File);
bkpDBFull.BackupSetName = "Adventureworks database Backup";
bkpDBFull.BackupSetDescription = "Adventureworks database - Full Backup";
/* You can specify the expiration date for your backup data
* after that date backup data would not be relevant */
bkpDBFull.ExpirationDate = DateTime.Today.AddDays(10);
/* You can specify Initialize = false (default) to create a new
* backup set which will be appended as last backup set on the media. You
* can specify Initialize = true to make the backup as first set on the
* medium and to overwrite any other existing backup sets if the all the
* backup sets have expired and specified backup set name matches with
* the name on the medium */
bkpDBFull.Initialize = false;
/* Wiring up events for progress monitoring */
bkpDBFull.PercentComplete += CompletionStatusInPercent;
bkpDBFull.Complete += Backup_Completed;
/* SqlBackup method starts to take back up
* You can also use SqlBackupAsync method to perform the backup
* operation asynchronously */
bkpDBFull.SqlBackup(myServer);
private static void CompletionStatusInPercent(object sender, PercentCompleteEventArgs args)
{
Console.Clear();
Console.WriteLine("Percent completed: {0}%.", args.Percent);
}
private static void Backup_Completed(object sender, ServerMessageEventArgs args)
{
Console.WriteLine("Hurray...Backup completed.");
Console.WriteLine(args.Error.Message);
}
private static void Restore_Completed(object sender, ServerMessageEventArgs args)
{
Console.WriteLine("Hurray...Restore completed.");
Console.WriteLine(args.Error.Message);
}
- 1. Сценарий резервного копирования и восстановления
- 2. Стратегия резервного копирования и восстановления данных iCloud
- 3. Шаги резервного копирования и восстановления базы данных на другой сервер
- 4. Таблица резервного копирования и восстановления
- 5. Решение для восстановления и резервного копирования PostgreSQL
- 6. Стратегия резервного копирования и восстановления SQLite
- 7. Каков правильный способ резервного копирования/восстановления базы данных mnesia?
- 8. текст блоба после резервного копирования и восстановления
- 9. задача резервного копирования базы данных в SSIS
- 10. Использование onUpgrade для резервного копирования старой базы данных, замены базы данных и восстановления данных
- 11. Резервного копирования базы данных подключаемого
- 12. Выполнение резервного копирования базы данных
- 13. Ошибка резервного копирования базы данных
- 14. MySQL Multi Registration Form для резервного копирования и восстановления
- 15. Javascript. Объект резервного копирования и восстановления
- 16. Значения столбцов резервного копирования и восстановления
- 17. структура синхронизации при сценариях резервного копирования/восстановления
- 18. Ошибка резервного копирования/восстановления Magento Large
- 19. MySql папка резервного копирования базы данных скрипт
- 20. Частый рабочий процесс резервного копирования базы данных
- 21. Способы резервного копирования данных базы данных
- 22. Опция резервного копирования и восстановления недоступна в pgAdmin III
- 23. MySQL резервного копирования и восстановления из ib_logfile отказа
- 24. с помощью резервного копирования/восстановления adb?
- 25. MikroTik автоматический сценарий восстановления или резервного копирования
- 26. ravendb резервного копирования базы данных - возвращает 401
- 27. Ошибка резервного копирования базы данных Oracle
- 28. Автоматизация резервного копирования базы данных в PostgreSQL
- 29. Универсальный формат резервного копирования/извлечения базы данных
- 30. Лучшая практика резервного копирования базы данных
http://www.c-sharpcorner.com/UploadFile/rohatash/restore-sql-server-backup-file-with-C-Sharp/ – Nalaka
Какой РСУБД это? Добавьте тег, чтобы указать, используете ли вы 'mysql',' postgresql', 'sql-server',' oracle' или 'db2' - или что-то еще. –
Я использую sql server 2008 –