欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    SQL SERVER 阻塞与死锁.ppt

    • 资源ID:5449362       资源大小:858KB        全文页数:19页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    SQL SERVER 阻塞与死锁.ppt

    SQL Server 2008新特征,阻塞与死锁,DBA,内容,DBA,事务,事务:单个工作单元执行的一些列操作。事务的属性:A:原子性(Atomicity)全做或全不做C:一致性(Consistency)多个事务对data访问间不冲突I:隔离性(Isolation)用锁进行隔离D:持久性(Durability)运行模式:自动提交事务:每个语句一个事务显示事务BEGIN TRANCOMMIT TRANROLLBACK TRAN隐示事务,DBA,并发,并发:多用户同时对一种资源进行访问并发影响:并发控制:A的修改不会对B做的修改产生负面影响悲观并发控制:加锁成本 rollback隔离级别,DBA,隔离级别,定义一个事务必须与其他事务所进行的资源或数据更改相隔离的程度隔离级别,DBA,锁定(locking),概念:(LOCK)事务获取的一种控制资源,保护数据,防止其他事务对数据进行冲突的或不兼容的访问。可锁定资源锁模式锁兼容性自定义锁定锁升级:细粒度的锁升级为粗粒度的锁,SQL Server2008 可以用LOCK_ESCALATION显示禁止锁升级。,DBA,可锁定资源,DBA,锁模式(lock mode),DBA,锁兼容性,控制多个事务能否同时获取一个资源上的锁。兼容时才能获得。,DBA,阻塞(blocking),概念前提:一事务持有数据资源上的锁动作:另一事务请求相同资源上的不兼容锁后果:新的锁请求被阻塞,请求等待至锁被释放实例:Connection1:获得某行的排他锁Connection2:申请同一行的共享锁,DBA,检测阻塞,1.SP_WHO/SP_LOCK,DBA,检测阻塞,2.SYS.DM_TRAN_LOCKSSELECT request_session_id as 服务器进程标识符,resource_type as 被锁定资源类型,request_mode as 锁模式,request_status as 请求状态FROM sys.dm_tran_locks,DBA,检测阻塞,3.Othersys.dm_exec_connections(阻塞链中进程相关联接信息)-可了解联接中最后读写的时间及SQL语句select*from sys.dm_exec_connectionsCROSS APPLY sys.dm_exec_sql_text(most_recent_sql_handle)as STwhere session_id IN(55,56);sys.dm_exec_sessions(查询阻塞中涉及的会话)sys.dm_exec_requests(活动请求信息),DBA,终止和避免阻塞,KillSET LOCK_TIMEOUT timeout_period,DBA,死锁,DBA,概念:多任务中,每个任务锁定了其他任务试图锁定的资源,导致的任务永久阻塞。例子:CREATE TABLE Table1(Col1 int default(0);CREATE TABLE Table2(Col1 int default(0);INSERT INTO Table1 VALUES(1);INSERT INTO Table2 VALUES(1);Begin Tran Update Table1 Set Col1=Col1+1;WaitFor Delay 00:01:00;SELECT*FROM Table2Rollback Tran;Begin Tran Update Table2 Set Col1=Col1+1;WaitFor Delay 00:01:00;SELECT*FROM Table1Rollback Tran;,死锁检测与查看,DBA,死锁检测:锁监视线程。定期搜索数据库引擎实例的所有任务。检测到死锁后线程选择一个死锁牺牲品来结束死锁。死锁牺牲品的事务以1025错误返回到应有程序并释放事务持有的锁。默认选择回滚开销最小的会话作为牺牲品。DEADLOCK_PRIOPRTY低的死锁被牺牲。死锁查看工具:1024:报告死锁涉及的每个节点设置格式信息。1222:设置死锁信息的格式,先进程后资源。事件探查器死锁图形事件。,降低死锁的方法,DBA,按同一顺序访问对象。(注:避免出现循环)避免事务中的用户交互。(注:减少持有资源的时间,较少锁竞争)保持事务简短并处于一个批处理中。(注:同(2),减少持有资源的时间)使用较低的隔离级别。使用较低隔离级别比使用高隔离级别持有共享锁的时间更短。使用基于行版本控制的隔离级别READ_COMMITTED_SNAPSHOT设置为ON,读操作为行版本控制而不是共享锁ALLOW_SNAPSHOT_ISOLATION设置为ON,快照隔离也使用行版本控制使用绑定连接,死锁处理,DBA,方法一:EXEC sp_who active看哪个引起的阻塞,blk=53;或者exec sp_lock 看哪个spid 处于wait状态,通过kill spid干掉相关进程。方法二:设定锁超时:SELECT LOCK_TIMEOUTSET LOCK_TIMEOUT 5000SQL Server内部有一个锁监视器线程执行死锁检查自动处理。在select语句上加表级锁WITH(no lock),此方法有可能导致脏读,因为读取的未提交的数据。行版本控制的隔离级别,不加读锁。既不死锁也不读脏数据。SET ALLOW_SNAPSHOT_ISOLATION ONSET READ_COMMITTED_SNAPSHOT ON,DBA,Thank You!,

    注意事项

    本文(SQL SERVER 阻塞与死锁.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开