想象一下,您销售的应用程序将其数据存储在Microsoft Sql Server数据库中.一些客户是拥有现有Sql安装和员工维护的大型公司.其他客户是通过安装程序安装SQLEXPRESS版本的小公司.
数据库很快将包含许多重要数据,需要备份.这是谁的责任?
应用程序是否应包含用于备份数据库的UI,并在未运行备份时发出警告?
或者应用程序是否应该在其文档中包含备份说明?
或者这是客户解决而不是程序员的问题?
在大多数情况下,我希望客户在不涉及程序员的情况下处理备份.如果客户要求您作为程序员在应用程序中构建备份提醒,那么当然没有错.
在某些情况下,客户很少或根本不了解他们使用的技术,我也认为作为系统开发人员,我们有责任告知他们在维护方面应该做些什么.
即使是专业客户,我也经常在文档中指定最低备份要求,因为您得到了您的要求.
这是客户的责任.然而,...
我相信你有三个选择:
应该提到备份数据库.
提供有关如何备份数据的建议.
提供您的服务以维护备份程序.
可以使用这些中的一个或全部三个.这一切都取决于买方和卖方对此感到满意.
如果要构建安装SQLExpress的软件,则应提供备份功能.默认情况下,SQLExpress不附带Management Studio,我认为将Management Studio作为应用程序的一部分安装(或要求客户这样做)是一个主要的可用性问题.
该BACKUP DATABASE
命令很容易从您的应用程序执行.没有理由不提供此功能.
对于拥有IT人员的客户,他们仍然可以使用现有流程自行处理备份.
每个人都赢了.