SQLServer故障转移与事务处理误区解析
需积分: 13 73 浏览量
更新于2024-07-25
收藏 2.08MB PDF 举报
"SQLServer误区30日谈.pdf"
在《SQLServer误区30日谈》中,作者Paul S. Randal揭示了一些常见的关于SQLServer管理和性能优化的误解。以下是两个重点误区的详细解释:
误区#1:在服务器故障转移后,正在运行的事务继续执行
在SQLServer中,故障转移并不意味着正在执行的事务能够自动地在新的服务器上恢复执行。无论是通过集群、镜像、日志传送还是SAN复制,故障转移都会伴随着恢复过程,确保数据库的一致性。例如:
- 集群故障转移时,旧实例上的未提交事务会在新节点的恢复阶段被回滚。
- 数据库镜像中,当镜像服务器接管主体角色,它会经历一次模拟的恢复过程,回滚所有未提交的事务。
- 使用事务日志传送,辅助服务器在主服务器崩溃后需要进行恢复,包括回滚未提交的事务。
- SAN复制虽然可以快速切换到远程存储,但数据库仍需执行恢复,确保一致性。
因此,如果需要确保事务在故障转移后继续,通常需要依赖应用程序级别的处理,如事务的重新执行逻辑。
误区#2: DBCC CHECKDB会引起阻塞,因为这个命令默认会加锁
实际上,DBCC CHECKDB命令并不会默认引起全局的阻塞。在SQLServer 7.0及后续版本中,DBCC CHECKDB被设计为可以并行执行,且不会锁定整个数据库。这意味着它可以在不影响其他用户查询的同时运行。当然,某些特定选项可能会增加锁定的可能性,但默认情况下,DBCC CHECKDB是相对低影响的操作,允许数据库在检查过程中保持可用状态。
这两个误区的澄清对于理解SQLServer的高可用性和维护操作至关重要。了解这些误区可以帮助数据库管理员更好地规划灾难恢复策略,以及在进行数据库维护时避免不必要的性能问题。通过深入学习这些知识,可以提高SQLServer环境的稳定性和可靠性。
点击了解资源详情
点击了解资源详情
点击了解资源详情
1736 浏览量
2021-01-21 上传
410 浏览量
993 浏览量
huzhouhzy
- 粉丝: 83
- 资源: 1656
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析