网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.用SQL语句生成带有小计合计的数据.
.使用JMail组件代替Sql Mail发送E.
.巧用数据库引擎优化Tuning Advis.
.解决SqlTransaction用尽的问题(.
.sql server数据库备份有两种方式.
.用SQL数据库批量插入数据简介.
.Sql Server全文搜索中文出错的问.
.SQL语句:按a列分组后b列最大的所.
.sqlserver2005(Express版)的配置.
.SQL Server常用到的几个设置选项.
.有用的SQL语句(删除重复记录,收.
.Sql server优化50法.
.注意细节:SQL语句中的布尔表达式.
.简化SQL语句一例.
.关于对sql2000查询结果进行相关度.
.列出SQL SERVER 所有表,字段名,.
.在SQL中设置允许同时连接的用户数.
.安装时出现一般网络性错误的解决.
.Microsoft SQL Server数据库日志.
.关于SQL SERVER 日志满的处理方法.

mssql锁基础教程

发表日期:2007-9-8


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,使得已提交读事务使用行版本控制。
          使用快照隔离。
          使用绑定连接。

上一篇:测试sql server业务规则链接方法 人气:1588
下一篇:sql 语句 更改默认的sql server 数据库 人气:2881
浏览全部mssql锁的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐