背景
我们有工作进程从SqlServer中的表读取“作业”,然后将结果写回其他表。一台或多台机器运行一个或多个工作进程。 单个SqlSever数据库(有时是集群的)是我们世界的中心,因此很可能是解决方案应该存在的地方。
如果工作进程或运行的计算机出现故障,我们需要一个分离的系统。 (由于工作进程以任何其他方式失败,因此无法与数据库通信是错误的。)
如果需要,工作进程可以在处理作业时保持对SQL Server的连接和事务处理。
我提出的选项。
使用数据库锁:
使用看门狗定时器:
还有其他我没想过的选择吗?
您对上述选项有何疑问?
如果您关心我们的工作进程是用.NET编写的并且在Windows服务器上运行。我们不需要能够将解决方案移植到不同的数据库供应商;我们只需要支持Sql Server 2005和2008
答案 0 :(得分:0)
我们这样做,就像一个魅力。您认为事先使用服务器时间的专业人员,我们只有在冬季转换后才知道;)
Kerberos要求活动目录域中的所有计算机具有相同的UTC概念。只要你在SQL中使用getutcdate(),我就不会指望任何问题。