数据库监控应用程序的架构

时间:2013-05-02 19:52:59

标签: c# winforms architecture windows-services

我被赋予了开发用于在我们的服务器上监视/备份数据库的应用程序的任务。

应用程序应该做这件事

  • 备份并在给定时间将备份复制到指定地点(用户可以更改时间和地点)
  • 在给定时间发送有关已完成备份的电子邮件通知,如果发生错误,请报告详细信息
  • 所有备份参数都应该是可编辑的
  • 从指定位置读取数据库凭据

所以我在想一个可以通过Windows窗体应用程序配置的Windows服务。我在这里正确的方向吗?

2 个答案:

答案 0 :(得分:0)

有很多产品可以做到这一点。获得现有产品(具有良好的支持)比自己开发,测试,排除故障等更容易,也可能更便宜。 Oracle已为其数据库实现了备份和还原功能,请参阅Introduction to Backup and Recovery

此外,IIRC Windows服务的目的不是与表单(或其他方式)进行通信,因此您的建议可能无法按预期工作。 MSDN: Interactive Services。请注意以下文字:

  

自Windows Vista起,服务无法直接与用户交互。因此,不应在新代码中使用标题为使用交互式服务的部分中提到的技术。

答案 1 :(得分:0)

您可以在没有第三方软件的情况下执行此操作。假设每个RDBMS都带有一些工具,即。命令行工具。其中一个是(可以?)备份/恢复。现在你可以做什么:

  1. 编写批处理文件来完成工作
  2. 为Windows任务计划程序创建一个将运行该批处理的任务(是的,您可以通过任务计划程序发送电子邮件)