网站地图 | 联系我们 | 咨询热线:13999201770
您现在的位置: 新疆二域设计网络公司 >> 网页设计学院 >> 数据库 >> Mssql数据库 >> 正文

1.了解锁

    锁定是数据库引擎用来同步多个用户同时对同一个数据块的访问的一种机制。
    在事务获取数据块当前状态的依赖关系之前,它必须保护自己不受其他事务对同一数据进行修改的影响。

锁粒度和层次结构

    RID 用于锁定堆中的单个行的行标识符。
    KEY 索引中用于保护可序列化事务中的键范围的行锁。
    PAGE 数据库中的 8 KB 页,例如数据页或索引页。 
    EXTENT 一组连续的八页,例如数据页或索引页。
    HOBT 堆或 B 树。保护索引或没有聚集索引的表中数据页堆的锁。
    TABLE 包括所有数据和索引的整个表。
    FILE 数据库文件。
    APPLICATION 应用程序专用的资源。
    METADATA 元数据锁。
    ALLOCATION_UNIT 分配单元。
    DATABASE 整个数据库。

锁模式:


    共享锁(S):用于只读操作(SELECT),锁定共享的资源。共享锁不会阻止其他用户读,但是阻止其他的用户写和修改。

    排他(独占)锁(X): 用于数据修改操作,例如 INSERT、UPDATE 或 DELETE。确保不会同时对同一资源进行多重更新。

    更新锁(U): 当更新事务数据需要获取排它锁时,必须先获取更新琐。引擎为防止死锁的发生,一次允许允许一个事务可以获得资源的更新锁(U 锁),只有获取更新锁的查询才可创建排它锁。

    意向锁: 用于建立锁的层次结构。意向锁的类型有:意向共享 (IS)、意向排他 (IX) 以及意向排他共享 (SIX)。引擎在创建共享锁和独占锁之前,先使用意向锁来保护共享锁(S 锁)或排他锁(X 锁)放置在锁层次结构的底层资源上

    架构锁(Sch-M):执行表的数据定义语言 (DDL) 操作时使用架构锁。在架构修改锁起作用的期间,该锁之外的所有操作都将被阻止.

    大容量更新锁(BU 锁):当将数据大容量复制到表,且指定了 TABLOCK 提示或者使用 sp_tableoption 设置了 table lock on bulk 表选项时,将使用大容量更新锁。大容量更新锁(BU 锁)允许多个线程将数据并发地大容量加载到同一表,同时防止其他不进行大容量加载数据的进程访问该表。

监视与管理锁


    使用 SQL Server Profiler监视Locks 事件,来捕获有关跟踪中锁事件的信息的锁事件类别。
    使用系统监视器监视SQL Server Locks 对象,监视数据库引擎实例中的锁级别。
    查询 sys.dm_tran_locks 动态管理视图获得有关数据库引擎 实例中锁当前状态的信息。
    使用系统存储过程sp_lock (Transact-SQL) 返回有关数据库引擎实例中的活动锁的信息。对于 SQL Server 2005,请改用 sys.dm_tran_locks 动态管理视图。
    使用系统视图sys.syslockinfo (Transact-SQL)返回有关数据库引擎 实例中的活动锁的信息。对于 SQL Server 2005,请改用 sys.dm_tran_locks 动态管理视图。

将死锁减至最少

    按同一顺序访问对象。
    避免事务中的用户交互。
    保持事务简短并处于一个批处理中。
    使用较低的隔离级别。
    使用基于行版本控制的隔离级别。
    将 READ_COMMITTED_SNAPSHOT 数据库选项设置为 ON,使得已提交读事务使用行版本控制。
    使用快照隔离。
    使用绑定连接。
 

作者:未知 | 文章来源:新疆二域设计 | 更新时间:2007-9-7 17:08:08

  • 上一篇文章:

  • 下一篇文章:
  • 相关文章:
    没有相关文章

    色彩理念
    网页制作
    美工图形
    网络编程
    数 据 库
    网站运营
    ::最近更新::
    ·在SQL中用 SP_KEYS确定一个…
    ·卸载SQL Remote对象以及稳…
    ·层次型和关系型、基因组序…
    ·向外扩展数据库系统的两个…
    ·MSSQL锁定的模式与锁定的管…
    ·SQL Server 2005教程:如何…
    ·SQL Server数据库两种备份…
    ·使用SQL Server代理设置SQ…
    ·在SQL Server 2000和SQL S…
    ·SQL SERVER 2005中同步复制…
    ·SQL Server上的数据加密与…
    ·常用SQL语句整理
    ·SQL Server性能分析参数…
    ·优化SQL Server服务器内存…
    ·使用命名管道访问SQL Serv…
    ::推荐阅读::
    ·SQL Server性能分析参数…
    ·优化SQL Server服务器内存…
    ·用SQL Server为Web浏览器提…
    ·SQL Server 2000的安全配置…
    ·无组件上传图片至SQLSERVE…

    关于我们 | 网站建设 | 服务帮助 | 联系我们 | 网页设计学院 | 实用工具 | 友情链接 | 新疆专题
    版权所有 © 2007 新疆二域设计网络公司 www.xjcncn.com All Rights Reserved
    网站建设总机:0991-4811639 传真:0991-4842803 ;咨询热线:13999201770. E-mail:xjcncn@gmail.com
    MSN :xjcncn@hotmail.com ; QQ:359312 ;地址:新疆乌鲁木齐市友好E时代公寓B座708 邮编:830000