【问题标题】:Database monitoring application's architecture数据库监控应用的架构
【发布时间】:2013-05-02 19:52:58
【问题描述】:

我的任务是开发一个应用程序,用于监控/备份我们服务器上的数据库。

应用程序应该做这些事情

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

所以我正在考虑一个可以由 Windows 窗体应用程序配置的 Windows 服务。我的方向正确吗?

【问题讨论】:

  • 我敢打赌,有大量的第三方产品正是为此目的而制造的,为什么要重新发明轮子?更不用说一些数据库产品已经内置了。
  • 你能指点我吗?
  • @user49126 如果您告诉我您使用哪些数据库,我可以在回答中提供一些名称。
  • 我们使用Oracle数据库
  • @user49126 我在答案中添加了一个可能很有趣的选项。

标签: c# winforms architecture windows-services


【解决方案1】:

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

此外,IIRC Windows 服务旨在不与表单进行通信(或相反),因此您的建议可能不会像您期望的那样起作用。 MSDN: Interactive Services。请注意以下文本:

从 Windows Vista 开始,服务无法直接与用户交互。因此,不应在新代码中使用标题为“使用交互式服务”一节中提到的技术。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 2011-03-10
      • 1970-01-01
      • 2017-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多