关于sql server数据同步,未高手解答。
今天客户提了个需求,要做一个报表服务,就是要有一个数据库是专门用来查询报表的。
第一时间想到的是使用sql server提供的发布和订阅功能,来实现两个数据库的同步。
本来以为这样就OK了。没想到客户还提出,在做完数据库同步之后,要对现在的数据库做数据归档,也就是要把一些比较久的数据删除移到一个新的库,但是报表数据库确要保留原来的数据,然后后续对主数据库的增删改也要同步到报表数据库。但是由于sql server的复制功能会把对主数据库做的操作都同步到报表数据库,这样子就没办法达到客户的要求了。因为客户想在报表数据库上保留在主数据库被归档的数据。
想问一下,还有没有什么其他的办法可以实现客户的需求呢。。求解答,谢谢啦,分不多了
------最佳解决方案--------------------可以用两个数据库的复制来解决,即生产服务器上有生产库和归档库 ,报表服务器也用两个库同步,或者一个库多个表来复制。
------其他解决方案--------------------复制订阅能满足你的需求,你可以再发布库上设置不发布删除语句。(业务数据中不要有删除的逻辑才可以)
------其他解决方案--------------------这种需求,还是使用专业的工具来做。MSSQL有SSIS负责数据抽取、清洗、加载;SSAS负责建立Cube挖掘模型、KPI;SSRS负责报表展现。
------其他解决方案--------------------
你的意思是我在生产库弄一个发布,归档库也弄一个发布,然后在报表服务器上订阅这两个发布,并指定同一个数据库,这样子他就会合并归档库跟生产库的内容到报表数据库了吗?
------其他解决方案--------------------是都到了报表数据库了,但是分为归档表和生产表 。你需要做个视图联合下 ,完了报表统一用视图来处理就OK。
------其他解决方案--------------------
谢谢你呀,我刚试了可以把归档库和生产库发布的,然后在报表数据库同时订阅这两个发布,这样它就会合并数据了。不过还得测试测试,不知道会不会有什么题