Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server跨数据库视图_Sql Server_Database Design_Data Warehouse_Sql View_Transactional Replication - Fatal编程技术网

Sql server SQL Server跨数据库视图

Sql server SQL Server跨数据库视图,sql-server,database-design,data-warehouse,sql-view,transactional-replication,Sql Server,Database Design,Data Warehouse,Sql View,Transactional Replication,我正在尝试为我们的CRM构建一个报告平台。系统的设计为每个客户机提供一个单独的数据库(具有相同的结构)。我正在将这50个数据库复制(事务性)到报表服务器,但现在我想将所有数据合并到一个“报表”数据库中。每个表将有一个新的客户机id列,该列将保持记录的唯一性并链接到新的客户机表 我希望数据尽可能接近实时(因此是事务性的)。我曾想过使用大型跨数据库视图,但有些事情告诉我,这不是最好的方法 我想我可以在每个客户机数据库上都有触发器,每当有更新、删除或插入时都会更新报告数据库。不确定SSI是否可用于此目

我正在尝试为我们的CRM构建一个报告平台。系统的设计为每个客户机提供一个单独的数据库(具有相同的结构)。我正在将这50个数据库复制(事务性)到报表服务器,但现在我想将所有数据合并到一个“报表”数据库中。每个表将有一个新的客户机id列,该列将保持记录的唯一性并链接到新的客户机表

我希望数据尽可能接近实时(因此是事务性的)。我曾想过使用大型跨数据库视图,但有些事情告诉我,这不是最好的方法

我想我可以在每个客户机数据库上都有触发器,每当有更新、删除或插入时都会更新报告数据库。不确定SSI是否可用于此目的。我过去只在ETL中使用过它


因此,我想知道将多个数据库组合在一起并使数据与生产环境保持同步的最佳做法是什么。

我绝对不会发表意见。连接将是疯狂的,它不会随着您添加新客户端而扩展

我也不确定我是否会使用触发器。它可以工作,但实际上,您不就是在那个时候复制复制吗


我将使用复制并将这些表复制到报表服务器。然后,您可以将复制的表塑造成您需要的样子。复制要正常工作可能有点困难,但当它工作时,它真的很神奇。

我将对每个要同步的表使用SSIS计划的合并语句