WEB开发网
开发学院数据库MSSQL Server MS SQL基础教程:数据库中的锁 阅读

MS SQL基础教程:数据库中的锁

 2007-12-25 15:28:40 来源:WEB开发网   
核心提示:悲观锁对数据库系统的自动管理不感冒,需要程序员直接管理数据或对象上的加锁处理,MS SQL基础教程:数据库中的锁(2),并负责获取、共享和放弃正在使用的数据上的任何锁, 11.5.3 隔离级别隔离(Isolation) 是计算机安全学中的一种概念,则会出现如图11-2 所示的锁的进程细节对话框,在此,其本质上是一种封锁

悲观锁对数据库系统的自动管理不感冒,需要程序员直接管理数据或对象上的加锁处理,并负责获取、共享和放弃正在使用的数据上的任何锁。

11.5.3 隔离级别

隔离(Isolation) 是计算机安全学中的一种概念,其本质上是一种封锁机制。它是指 自动数据处理系统中的用户和资源的相关牵制关系,也就是用户和进程彼此分开,且和操 作系统的保护控制也分开来。在SQL Server 中,隔离级(Isolation Level) 是指一个事务 和其它事务的隔离程度,即指定了数据库如何保护(锁定)那些当前正在被其它用户或服 务器请求使用的数据。指定事务的隔离级与在SELECT 语句中使用锁定选项来控制锁定 方式具有相同的效果。

在SQL Server 中有以下四种隔离级:

READ COMMITTED

在此隔离级下,SELECT 命令不会返回尚未提交(Committed) 的数据,也不能返回脏数据。它是SQL Server 默认的隔离级。 READ UNCOMMITTED

与READ COMMITTED 隔离级相反,它允许读取已经被其它用户修改但尚未提交确定的数据。 REPEATABLE READ

在此隔离级下,用SELECT 命令读取的数据在整个命令执行过程中不会被更改。此选项会影响系统的效能,非必要情况最好不用此隔离级。 SERIALIZABLE

与DELETE 语句中SERIALIZABLE 选项含义相同。隔离级需要使用SET 命令来设定其语法如下:

SET TRANSACTION ISOLATION LEVEL

{READ COMMITTED

| READ UNCOMMITTED

| REPEATABLE READ

| SERIALIZABLE }

11.5.4 查看锁

可以通过企业管理器或存储过程来查看锁。

(1) 用Enterprise Manager 查看锁

在企业管理器中选择目录树窗口中“Management” 文件夹下,“Current Activity” 中的“Locks / Process ID” 节点,则可以查看当前锁定的进程;选择同级的“Locks / Object”节点下的相应字节点,则可以查看当前锁定的对象,如图11-1 所示。在图11-1 中,右键单击任务板窗口中的对象,从快捷菜单中选择“属性”选项,则会出现如图11-2 所示的锁的进程细节对话框。在此,可以刷新或杀死锁的进程。

Tags:MS SQL 基础

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接