位置: 编程技术 - 正文
锁有两种分类方法。(1) 从数据库系统的角度来看锁分为以下三种类型: 独占锁(Exclusive Lock)独占锁锁定的资源只允许进行锁定操作的程序使用,其它任何对它的操作均不会被接受。执行数据更新命令,即INSERT、 UPDATE 或DELETE 命令时,SQL Server 会自动使用独占锁。但当对象上有其它锁存在时,无法对其加独占锁。独占锁一直到事务结束才能被释放。
共享锁(Shared Lock)共享锁锁定的资源可以被其它用户读取,但其它用户不能修改它。在SELECT 命令执行时,SQL Server 通常会对对象进行共享锁锁定。通常加共享锁的数据页被读取完毕后,共享锁就会立即被释放。
更新锁(Update Lock)更新锁是为了防止死锁而设立的。当SQL Server 准备更新数据时,它首先对数据对象作更新锁锁定,这样数据将不能被修改,但可以读取。等到SQL Server 确定要进行更新数据操作时,它会自动将更新锁换为独占锁。但当对象上有其它锁存在时,无法对其作更新锁锁定。
(2)从程序员的角度看锁分为以下两种类型: 乐观锁(Optimistic Lock)乐观锁假定在处理数据时,不需要在应用程序的代码中做任何事情就可以直接在记录上加锁、即完全依靠数据库来管理锁的工作。一般情况下,当执行事务处理时SQL Server会自动对事务处理范围内更新到的表做锁定。
悲观锁(Pessimistic Lock)悲观锁对数据库系统的自动管理不感冒,需要程序员直接管理数据或对象上的加锁处理,并负责获取、共享和放弃正在使用的数据上的任何锁。
推荐整理分享浅析Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁(sqlserver锁机制),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:sqlserver lock,sql server数据库锁有哪些,sqlserver数据库锁住了,sqlserver 锁表原因,sqlserver数据库锁,sql server中有哪几种锁定模式,sqlserver锁机制,sqlserver数据库锁,内容如对您有帮助,希望把文章链接给更多的朋友!
浅析SQL存储过程和事务处理 在数据库编程中,事务是经常需要用到的技术,在.net平台上,事务处理是非常好用的,但是在SqlServer数据库的存储过程中如何使用事务来完成数据的批量操
SQL Server常用存储过程及示例 分页:/*分页查找数据*/CREATEPROCEDURE[dbo].[GetRecordSet]@strSqlvarchar(),--查询sql,如select*from[user]@PageIndexint,--查询当页号@PageSizeint--每页显示记录ASsetnocountondecl
完美解决SQL server中插入汉字变成问号的问题 关于SQLserver中插入汉字变成问号的解决办法1.右击你所建的数据库,点击属性,选择选项并点击。将其中的排序规则设置为:Chinese_PRC_CI_AS(选择下拉
标签: sqlserver锁机制
本文链接地址:https://www.jiuchutong.com/biancheng/347183.html 转载请保留说明!友情链接: 武汉网站建设