Ваше приложение может запустить файл .sql, который выполняет резервное копирование или восстановление для вас. Конечно, я в основном видел, как это делается в запланированном задании, но я полагаю, что вы могли бы сделать это из запускаемого события внутри вашего приложения.
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "C:\\path\\to\\backup.sql";
p.Start();
UPDATE:
Как указано в комментариях, это не будет работать, если на сервере не установлена SQL Management Studio. Кроме того, вы можете вызвать хранимую процедуру. Поразмыслив, я не уверен, почему я не предложил сначала сохранить хранимый процесс - возможно, потому что другая методология была свежа в моем мозгу из-за того, что он был вынужден реализовать ее таким образом в предыдущем проекте.