日期:2014-05-18  浏览次数:20827 次

关于数据库完整抽取的疑问
将数据库A的全部数据实时同步到数据库B(例如A写入了一条记录,B同样也要有这样一条记录,A和B的数据要保证随时完全一致,包括事务日志、尾日志),同时,要求B是可以操作的(非只读)。
  请教:实现上述功能,应当采用什么技术?数据库复制?镜像?或是用触发器做跨库操作?抑或是其它什么技术?
  PS:数据库是SQL Server 2005企业版。

------解决方案--------------------
你需要实现的功能:
1、A和B的数据要保证随时完全一致。
2、A写入了一条记录,B同样也要有这样一条记录。
3、要求B是可以操作的,例如B写入一条数据,A也要写入。

实现的方法:
1、主数据库服务器生成快照,备份库服务器读取并加载该快照,然后不停地从主数据库服务器复制事务日志,
满足不了第三条。PASS
2、数据库镜像切换成主服务方可操作,满足不了第三条。 PASS
3、触发器可以实现,如果涉及的表少的话推荐。 OK

备注:如果B操作的表和A不一样,也就是说操作B不影响B中同步的A数据,那么可以用方法1!