0

我想建立一个Windows服务,将通知公司的一些管理员在主数据库中更改数据库。有人可以建议如何构建它,它不需要维护,并且以一种明智的方式。 (比如在一个表中写入存储过程?)。我可以使用哪些技术?(如SQL依赖?) 如果有人已经做了这样的事情,我会很乐意听到建议...建议架构模式到Windows服务监视和通知邮件的变化?

+0

什么是数据库服务器?请品牌和版本。 – NotMe 2011-03-15 15:27:39

+0

你能否详细说一下“改变的主要BL”?假设这是商业逻辑,但它目前如何实施?你在监视一张桌子等吗? – bryanbcook 2011-03-15 15:30:45

+0

SQL server 2008.最重要的是服务的设计,主要不是在任何时候开发人员会想要新的变化规则 – user437631 2011-03-15 15:31:03

回答

2

有3种基本模式可以做到这一点。

  1. 通知事件,正在发生什么变化引发了一个事件“嗨,有人改变了我”,然后你赶上了这个事件。
  2. 投票,客户询问数据库自从我上次问你发生了什么后发生了什么。
  3. 网关,通过网关进行的所有更改,网关报告进行了哪些更改。

你选择哪一个取决于你有哪些技术可用,以及你的要求是多快,你需要知道有关变化。

0

SQL Server带有很多方法来捕获更改(包括特定于数据和特定于架构)。请参阅更改数据捕获和其他主题,如DDL触发器,事件通知和SQL跟踪。就你而言,我认为这是后面的3个主题。

所有3种方法应该能够在数据库范围甚至服务器范围内运行(这意味着您可以设置一次并忘记它,因此应该满足您的免维护要求)。

与SQL Server的数据库邮件功能相结合,你应该能够实现这一点,而不必诉诸自定义的Windows服务。

只是一个小心的词... 人们认为这是一个好主意,但是如果没有正确实施,期望一个满的垃圾邮件,垃圾邮件和更多的垃圾邮件。提示:临时表操作。