SQL Server的客户端复制?

时间:2010-04-27 18:54:02

标签: sql-server linq-to-sql replication

我希望在SQL Server Express数据库中有一定程度的容错/冗余。我知道如果我升级到更高版本的SQL Server,我可以内置“复制”。但我想知道是否有人有管理客户端上的复制的经验。从我的申请中可以看出:

  • 每次我需要创建,更新或删除数据库中的记录时 - 直接从客户端向所有 n 服务器发出语句
  • 每次我需要阅读时,我都可以从一个代表服务器这样做(这里也可以使用其他方案)。
  • 似乎可以将此逻辑直接添加到我的Linq-To-SQL数据上下文中。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

  

每次我需要创建,更新或   从数据库中删除记录 -   向所有n个服务器发出语句   直接来自客户端

灾难食谱。

您是要进行分布式事务还是让某些服务器失败?如果您有分布式事务,那么如果服务器暂时脱机,您会怎么做。

只有在服务器端数据门户层执行此类操作才能使用,其中应用程序服务器接收您的请求并了解您的数据库场。那时,你最好只使用更高级别的SQL Server。

答案 1 :(得分:0)

我从内部客户端管理复制。我的数据库模型适用于所有事务的仅插入模式,以及查找数据的插入更新。删除是不允许的。

我有一张中央表,一切都与之相关。我在此表中添加了一个字段,以获取默认为NULL的日期时间戳。我将此表和所有相关表中的数据放入暂存区域,BCP输出,清理接收器侧的登台表,执行BCP IN登台表,执行数据验证然后插入数据。

对于某些基本的Fault Tolerance,您可以安排定期备份。