相关疑难解决方法(0)

SQL Server 多对一复制

我有 8 台单独的 SQL Server 2008 R2 机器,每台机器托管 1 个数据库。每个数据库都有相同的表结构和模式,以及完全独特的数据。

我想建立一个报告服务器(可能是 2008 年或 2012 年),它将来自 8 个源服务器的选定表中的行合并到报告服务器上这些表的单个实例中。这是单向复制(不会对报告服务器进行任何更改)。我需要以相对较低的延迟(比如 20-30 秒)从源数据库复制更改。

此外,我想找到方法来实现这一点,对源服务器的影响尽可能小。在我的环境中,这些服务器的第 3 方代理、触发器或模式修改很困难。

我的问题:

  • 实现这一目标的有前途的架构和技术是什么?
  • 我看过 SQL Server 合并复制,但我担心延迟。这是实现此目标的合适技术吗?
  • 是否有用于事务复制的多对一架构?
  • 我是否应该在我的报告服务器上查看 8 个数据库中的一对一复制,然后是一些自定义合并功能(两步复制)?

谢谢,约翰

replication sql-server sql-server-2008-r2

14
推荐指数
1
解决办法
8029
查看次数

如何在托管数据库和本地数据库之间复制数据

我有一个由不同公司维护的云托管数据库。这是我的场景:

  • 云托管数据库 SQL Server 2012 - 需要通过 VPN 连接。
  • 我们设置了一个带有双网卡的本地服务器。这允许我们拥有 VPN 连接和本地网络连接。
  • 我想在我们的服务器上有一个云托管数据库的本地副本。
  • 我无法在 SQL 服务器内设置复制,我没有云服务器的权限。
  • 我无法备份和恢复数据库 - 我没有云服务器的权限。
  • 我不能使用触发器
  • 我不能使用日志。
  • 我不能使用备份

如何关闭整个数据库、模式和数据,并保持我的本地数据库实时更新?

编辑:我能够从托管公司运行脚本,因此我可以创建数据库以及架构和初始数据。

最重要的问题是如何让数据保持实时同步?现在,我正在考虑在 SQL 中执行一系列作业来查询链接服务器数据库,如下所示:

insert into local_table_1
select * from linkedserver_table1
except
select * from local_table_1
Run Code Online (Sandbox Code Playgroud)

问题是,它效率不高,并且不会提取任何更新的记录。我们确实有一个“Updated_date”字段。如何更新本地服务器,从链接服务器中选择所有记录,并更新本地数据库?

sql-server linked-server sql-server-2012

5
推荐指数
1
解决办法
2917
查看次数