我有一个包含大约60个表的事务数据库(SQL Server 2014),并且需要创建一个单独的报告数据库以用于报告目的。
这只需要每24小时运行一次 - 但是我需要将数据移动到一个不同的,更易于查询的模式中!
因此我希望我可以在Transactional Db上创建一些视图,然后在Reporting db中基于该视图创建一个表并复制数据。
我最初想过编写一个计划的Windows服务,它以某种方式从表中提取数据并插入到新表中,但后来认为如果模式发生了变化,它必须在两个地方更新,并且还认为企业SQL Server许可证必须有一些技巧。
然后我研究了数据库镜像'在特定的表上,但这看起来很快就会被弃用。
'记录运费'看起来更像是灾难恢复解决方案!
是否有一个行业最好的'解决这个问题的方法?
答案 0 :(得分:1)
您需要设计一个ETL过程来从源数据库中提取数据,对其进行转换并将其加载到报告数据库中。有许多工具可以让您更轻松。您可以使用SSIS,Azure数据工厂用于Azure SQL,还有许多其他选项。您可以使用SQL代理来安排存储过程来运行ETL过程。
您的目标数据库与源数据库看起来大不相同。实现这一点并没有快速的方法(快速安排备份)。有很多关于数据仓库和ETL设计的信息可以帮助您决定如何继续。