当我的 .Net Web 应用程序运行缓慢时,我遇到了一个问题,即使我已经优化了所有查询。事实证明,另一位制作报告的开发人员一直在运行一堆未优化的查询。所以我决定为他创建一个单独的服务器。目前我创建了 Jobs 进行备份,将其复制到另一台服务器并恢复它。但这是临时解决方案,因此为了让第二台服务器拥有最新数据或至少延迟最小,我正在研究创建只读副本的机会。
由于我不是 DBA,因此我阅读了大量有关 SQL Server 复制机制的文章或文章。对我来说最好的选择是当我的 PROD Web 应用程序完全不受复制影响时,我的意思是对同步表进行大量锁定。我不需要像镜像那样实时同步,也不需要任何集群解决方案之王,只需读取我的 PROD 数据库的同步副本。所以我选择了Transactional具有异步分发策略(按计划)的复制机制(不可更新)。
所以我有一些问题:
在 SQL Server 复制机制中,事务复制是否最适合我的问题?
如果我有机会从 SQL Server 2008 迁移到 SQL Server 2012,事务复制会发生一些重大变化吗?我在technet上读过一篇文章,可能会出现错误?
SQL Server 2012Always On机制不是更好地解决我的问题吗(我正在考虑将此选项作为最后一个选项,因为我仍在使用 2008 R2,但不久之后计划迁移到 2012)?
sql-server sql-server-2008-r2 sql-server-2012 transactional-replication