c # экспресс резервное копирование / восстановление базы данных - PullRequest
0 голосов
/ 13 мая 2011

Я полностью потерян здесь, и у меня заканчивается время. Позвольте мне объяснить мою ситуацию:

Я создал программное обеспечение на C # express 2010 и SQL Server Express 2008 R2.

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

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

Я понятия не имею, как заставить их работать, и я надеюсь, что кто-то здесь может указать мне правильное направление.

  • Мне нужно иметь возможность создать резервное копирование / восстановление базы данных из щелчок кнопки
  • Мне нужно иметь возможность планировать резервное копирование Процессы

Пожалуйста, имейте в виду, что когда пользователь установит программное обеспечение на своем компьютере, у него не будет установлен сервер SQL (я говорю об этом, потому что у меня сложилось впечатление, что SMO требует, чтобы сервер SQL был предварительно установлен на клиентском компьютере). ).

Спасибо

Ответы [ 2 ]

1 голос
/ 13 мая 2011

Вы всегда можете попробовать Google .

  1. Резервное копирование
  2. Восстановление
  3. Автоматизация сценариев резервного копирования с помощью агента заданий SQL

Я предполагаю, что вы можете создавать Windows Forms и подключать события OnClick и запускать SqlCommand для базы данных. Тогда нужно просто использовать приведенную выше документацию для написания соответствующих запросов, когда пользователь нажимает соответствующую кнопку.

Кстати: это сайт вопросов и ответов, а не магазин консультантов по чрезвычайным ситуациям. Не говорите что-то вроде «у меня мало времени», не пишите большие списки требований и не говорите мне, как это сделать. Вы не получите абсолютно никакой помощи таким образом. Задайте конкретные вопросы после демонстрации своих усилий и конкретной технической проблемы.

0 голосов
/ 13 мая 2011

Вы можете посмотреть на этот пример C # для использования SMO для резервного копирования базы данных

http://social.msdn.microsoft.com/forums/en-US/sqlexpress/thread/95750bdf-fcb1-45bf-9247-d7c0e1b9c8d2/

Другой вариант - запустить процесс и вызвать sqlcmd из кода

http://www.sqldbatips.com/showarticle.asp?ID=27

Вот пример кода для выполнения процесса

string fileName = @"C:\Backup.sql";

ProcessStartInfo info = new ProcessStartInfo("sqlcmd", @" -S .\SQLExpress -U sa -d mydatabasename -o C:\sqlout.txt -i """ + @fileName + @""" -P");

 info.UseShellExecute = false;

 info.CreateNoWindow = true;

 info.WindowStyle = ProcessWindowStyle.Hidden;

 info.RedirectStandardOutput = true;

 Process p = new Process();

 p.StartInfo = info;

 p.Start();
...