SQL Server数据库表锁定原理以及如何解除表的锁定
2010-06-11 15:52
281 查看
1. 数据库表锁定原理
1.1 目前的C/S,B/S结构都是多用户访问数据库,每个时间点会有成千上万个user来访问DB,其中也会同时存取同一份数据,会造成数据的不一致性或者读脏数据.
代码
SELECT request_session_id as Spid, Coalesce(s.name + '.' + o.name + isnull('.' + i.name,''), s2.name + '.' + o2.name, db.name) AS Object, l.resource_type as Type, request_mode as Mode, request_status as Status FROM sys.dm_tran_locks l LEFT JOIN sys.partitions p ON l.resource_associated_entity_id = p.hobt_id LEFT JOIN sys.indexes i ON p.object_id = i.object_id AND p.index_id = i.index_id LEFT JOIN sys.objects o ON p.object_id = o.object_id LEFT JOIN sys.schemas s ON o.schema_id = s.schema_id LEFT JOIN sys.objects o2 ON l.resource_associated_entity_id = o2.object_id LEFT JOIN sys.schemas s2 ON o2.schema_id = s2.schema_id LEFT JOIN sys.databases db ON l.resource_database_id = db.database_id WHERE resource_database_id = DB_ID() ORDER BY Spid, Object, CASE l.resource_type When 'database' Then 1 when 'object' then 2 when 'page' then 3 when 'key' then 4 Else 5 end
更多有关锁的信息就参考:
http://www.sqlteam.com/article/introduction-to-locking-in-sql-server
相关文章推荐
- SQL Server数据库表锁定原理以及如何解除表的锁定
- SQL Server数据库表锁定原理以及如何解除锁定
- SQL Server数据库表锁定原理以及如何解除表的锁定 -1
- SQL Server数据库表锁定原理以及如何解除表的锁定
- SQL Server数据库表锁定原理以及如何解除表的锁定
- SQL Server数据库表锁定原理以及如何解除表的锁定
- SQL Server数据库表锁定原理以及如何解除表的锁定
- SQL Server数据库表锁定原理以及如何解除表的锁定--示例演示
- SQL Server数据库表锁定原理以及如何解除表的锁定
- SQL Server数据库表锁定原理以及如何解除表的锁定<转>
- SQL Server数据库表锁定原理以及如何解除锁定
- SQL Server数据库表锁定原理以及如何解除表的锁定--示例演示
- SQL Server数据库表锁定原理以及如何解除表的锁定
- SQL Server数据库表锁定原理以及如何解除表的锁定
- SQL Server数据库表锁定原理以及如何解除表的锁定
- [转]SQL Server表锁定原理以及如何解除锁定
- 浮动布局--如何解决父元素高度为0以及原理
- 【javaweb】Session原理以及浏览器禁止Cookie之后服务器如何获取Session
- 谈谈Linux打补丁的原理以及如何判别打补丁的错误 --- 从补丁学内核
- Vbs脚本病毒生产机的原理介绍及如何预防和解除?