首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL -现有数据库之间的事务复制

SQL -现有数据库之间的事务复制
EN

Database Administration用户
提问于 2022-08-29 03:43:30
回答 2查看 143关注 0票数 0

我想重新配置Dynamics 2012 SQL Server,以提高现有体系结构的性能,其中一个SQL服务器用于事务和报告。这降低了高峰负载期间的SQL性能(大型MIS报表生成)。

在建议的体系结构中,事务SQL复制到报表SQL以分担负担并提高性能。我选择了事务复制来实现这一点。但是,问题是:

  1. 因为我使用的是SQL标准,所以我可以选择所有的表,但不是所有的视图和SPs来进行复制,因为有些视图和SPs包含索引键,因此需要SQL。
  2. 如果我不复制所有的视图和SPs,那么AX就无法识别报表SQL。

是否可以从事务SQL恢复备份以报告SQL (其中包含所有表、视图和SPs),然后启用事务复制只复制表?

或者,我应该在SQL中使用基本的始终可用组并设置一个读取副本吗?

还是有更聪明的:)绕开这条路?

提前谢谢你的帮助。

添加SQL索引视图问题的屏幕截图。

EN

回答 2

Database Administration用户

回答已采纳

发布于 2022-08-29 14:48:51

正如您在更新的屏幕截图中所指出的,您收到的警告仅针对Server的一个古老版本,即2000版本。正如您在注释中提到的,您正在运行Server 2016 (标准版)。您肯定可以复制索引视图而不存在问题。(一些深潜研究也证实了这一点,并表示这可能不是一个问题,即使在Server 2000中也是如此。)

我建议继续进行事务性复制,因为出于性能和自定义的原因,我过去曾使用它将Dynamics 2012卸载到辅助报告服务器。

我过去遇到的唯一痛苦之处是,如果我们将某些自定义添加到AX数据库本身(在发布服务器端),我们将不得不删除并重新创建复制发布,我们用SSMS自动生成脚本。但是从Server 2014开始,复制支持删除表项目在脚本正确的情况下,甚至可能不再是一个问题了。

票数 0
EN

Database Administration用户

发布于 2022-08-29 06:24:34

根据对数据延迟的要求,可以使用日志运输在另一台服务器(或同一服务器)上创建数据库的只读报告副本。

有一些缺点,数据不是实时的,因为它只是最近的日志恢复,每次发生日志恢复时,它都会断开用户与辅助数据库的连接,但是如果您不需要实时数据报告,这可能是一个简单的解决方案。

如果确实需要实时报告,则可以为表设置事务复制,只需编写视图和SPs的脚本,然后手动将它们应用到订阅服务器数据库中。您甚至可以将其用作重新初始化订阅服务器之后运行的初始化后脚本。

如果复制数据的唯一目的是报告,那么我建议只复制您向订阅服务器数据库报告时实际需要的对象。这减少了订阅服务器所需的资源,并减少了诸如订阅初始化等工作所需的时间。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/316165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档