SQLServer并发的新解决方法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQLServer并发的新解决方法 SQLServer并发的新解决方法 PAGE / NUMPAGES SQLServer并发的新解决方法 工具等 . SQL Server 并发的新解决方法 我们可以优化数据库查询 , 升级数据库 服务器 , 但仍不足以保证应用程序良 好的数据库性能 . 这是因为问题可能产生于系统中并发 ( 指同步 ) 地执行查询操作 . 实际上 , 在产品化的数据库系统中 , 同步执行查询可能引发的问题是再多的查询 优化也不能解决的 . 我们可以有最优化的、执行最快的查询 , 但是 , 如果这些查询因为并发问题得不到需要的数据 , 说明优化工作还做得不够充分 . 从根本上讲 , 我们必须保证数据库查询和执行查询的连接必须能够在并发执行中没有错误 ( 如死锁或更新冲突 ), 并能在可接受的等待时间内得到结果 . 如果不能做到 , 就要定位并发问题并找出原因 : 为什么独立运行查询时正确 , 并发运行时就出问题 . 解决并发问题的过程是一个基于经验的过程 . 模仿产品环境并不容易 , 从许多同步连接中预测查询操作并发时的行为也很难 . 这就是为什么必须经常保留系统状态 , 才能在并发问题发生时诊断问题的原因 . 大多数情况下并发问题是一个 SQLServer 进程 ( 或任务 ) 等待某种资源 , 而这种资源还没有被其他进程释放 . 如果两个进程串行 , 就不会有冲突 ; 当它们并行时 , 对某种资源的冲突就产生了 . 这些等待大多由对用户资源的锁请求造成的 . 在本章中 , 我们将会学习到解决并发问题的技术 . 概括地讲 , 就是诊断和解决以下情况 : 锁、阻塞和死锁 . 基本的方法简单明了 : ● 识别并发问题 ; ● 分析和找出原因 ; ● 修改并解决问题 . 使用这种方法需要我们熟悉相当多的背景资料 . 本章假设读者已经阅读或已 经熟悉 Kalen Delaney 写的 Inside SQL Server 2005:The Storage Engine 第 8 章“锁和并发”中的内容 ( 见本书参考书目中的引用 : 其他资源和引用 ). 确切地 说 , 那个章节包含必需的资料 , 关于 SQLServer 2005 中事务、隔离级别和锁等解决并发问题需要的内容 . 、解决并发问题的新工具 SQL Server 2005 增加了一些重要的解决并发问题的新工具 . 除了新增的工具 , 它仍然包含原来的一些工具 , 如 sp_who2等系统 存储 过程、 Perfmon 计数器 , 解决并发问题的 SQL Trace/Profiler 为了检测和分析并发问题 ,SQL Server 2005 包括了以下新工具 : DMV, 特别是 sys.dm_os_wait_stats 和 sys.dm_os_waiting_tasks. 加强的 SQLDiag.exe 功能 , 收集运行系统的信息 . 基于行版本的隔离选项 ( “快照”和“已提交读快照”隔离级别 ). 新的 1222 跟踪标识和 SQL Trace 检测分析死锁的“死锁图表”事件类 . SQL Trace/Profiler 中的被阻进程报告事件类 , 和检测长阻塞的“被阻塞进程阈值” 服务器 配置选项 . 新计数器 “SQLServer:Transactions Perfmon ”对象 , 用来检测“快照隔离”事务中的更新冲突 , 计算在 tempdb 中版本 存储 的使用量 . 目前 , 新工具中有两个最基本的工具值得注意 : 用于检测的 sys.dm_os_waiting_tasks DMV 和为了决议的基于行版本的隔离级别 . 在这里我 们只概括地进行介绍 , 讲到解决问题的特定技术时再介绍更多的细节 . 新阻塞检测工具 :sys.dm_os_waiting_tasks sys.dm_os_waiting_tasks 是 SQL Server 2005 检测并发问题阻塞类型最重 要的新工具 . 这个 DMV显示所有任务的等待信息 . 并不是所有等待任务都是阻塞 的 , 因为任务可能等待 I/O 或内存授权 . 当一个任务等待另一个任务相对长时间时 , 它就会被阻塞 . 当一个任务 A 被另一个任务 B 阻塞 , 阻塞任务 B 将在视图中显示 . 这个视图的优点之一是它列出了任务和进程 . 任务表现出比 SPID(服务器进 程 ID) 更详细的 SQLServer 执行细节 . 如果进程是并行的 , 一个给定的 SPID 可能包含一些同步任务 ; 如果 spid 不是并行的 , 任务就只有一个 spid. 导致任务等待的原因有很多 , 许多和并发没有任何关系 . 所以从视图中过滤出不相干的行很重要 , 从而可以更好地关注由于资源锁定引起的

文档评论(0)

131****3377 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档