我有两台SQL 2005服务器,一台是OLTP(我们称之为SQLA),另一台用于报告SQLB,以减less人们在疯狂查询时加载SQLA的负担。 我们的主数据库通过事务复制从SQLA复制到SQLB。
我们在SQLB上运行的查询的性质显然非常不同,因此我们的索引要求也不同。
考虑到数据库是从SQLA复制的,在SQLB上创build更多索引是否存在任何问题?
我主要担心的是,由于数据被复制到SQLB并且更新了额外的索引,所以我可能会看到SQLA的性能受到影响,我对日志读取器代理程序缺乏了解是个问题,如果这是一个非常基本的问题,则表示抱歉。
将,
我明白为什么你会有这个问题,但是你不需要担心。 在这种情况下SQLA的负载不应该改变。 日志读取器代理在第三台机器上运行正确吗? 您有SQLA(发布服务器)运行,(经销商)运行日志读取器代理和(订阅)SQLB接收更新。 SQLA仍将编写完全相同的事务日志,分发服务器仍将提交给SQLB完全相同的插入,更新,删除。 实际将其添加到各个索引的工作将在SQLB上正常进行。
这是一个很好的stream程图: http : //i.msdn.microsoft.com/dynimg/IC19107.gif
唯一需要注意的是SQLB不会因为索引过多而无法及时执行插入/更新/删除操作,导致它们在分发数据库中build立起来。