SQL Server故障转移误区解析
需积分: 10 25 浏览量
更新于2024-07-17
收藏 1.17MB PDF 举报
"SQL Server误区30日谈——解析常见误解与解决方法"
本文系列源自sqlskill.com上PAUL的博客,聚焦于SQL Server中容易出现的误区,并提供了相应的解决方案。文章通过团队的翻译和整理,发布在AgileSharp平台上,旨在帮助读者理解和避免在SQL Server管理与使用过程中可能遇到的问题。
误区#1: 在服务器故障转移后,正在运行的事务继续执行
这个观点是不正确的。在任何类型的故障转移(如集群、镜像、日志传送或SAN复制)中,都会伴随数据恢复过程。当服务器或实例崩溃导致未提交的事务中断时,SQL Server无法在新服务器上重建事务上下文并继续执行。例如:
- 集群故障转移时,新的SQL Server实例在另一个节点启动,所有数据库都要经历恢复,回滚未提交的事务。
- 数据库镜像中,日志不断传输至镜像服务器,切换后,原镜像服务器的日志进入恢复模式,回滚未完成的事务。
- 日志传送方案下,辅助服务器在主服务器崩溃后恢复,同样涉及回滚未提交事务。
- SAN复制情况下,尽管I/O复制到远程站点,故障转移后仍需执行恢复步骤,回滚未提交事务。
唯一可能在不丢失事务的情况下实现故障转移的技术是使用支持实时迁移的虚拟化技术,但即便如此,如果连接中断,仍需在应用程序层面实现事务的重新执行逻辑。
误区#2: DBCC CHECKDB会引起阻塞,因为它默认加锁
这是一个误导。在SQL Server 7.0及更早版本中,DBCC CHECKDB确实可能导致阻塞,因为它默认会对数据库加锁。但在后续版本中,SQL Server优化了这一行为,现在DBCC CHECKDB默认在检查模式下运行,不会锁定整个数据库,允许其他读取操作同时进行。当然,如果需要更全面的检查,可以使用WITH CHECKSUM选项,这可能会影响并发性,但通常在维护窗口执行此操作以减少影响。
这些误区揭示了理解SQL Server核心概念的重要性,包括故障转移、恢复机制以及DBCC命令的正确使用。通过深入了解这些知识,可以更好地管理和保护数据库,确保高可用性和数据完整性。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2013-03-18 上传
2020-12-15 上传
2021-01-19 上传
2021-01-19 上传
2020-09-10 上传
2021-01-21 上传
lyh_8112
- 粉丝: 0
- 资源: 3
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程