可以锁定SQL Server中的各种对象,既可以是一个行,也可以是一个表或数据库。细粒度锁允许更大的数据库并发,因为用户能对某些未锁定的行执行查询。然而,每个由SQL Server产生的锁都需要内存,所以数以千计独立的行级别的锁也会影响SQL Server的性能。粗粒度的锁降低了并发性,但消耗的资源也较少。例如,SQL Server自动分配和升级锁。查询sys.dm_tran_locks动态管理视力可以监视当前SQL Server实例中打开了哪些锁。第四列使用了Object_Name函数,注意它使用了两个参数来指定访问哪个名称。同时也查询锁定请求模式和状态,最后,From子句引用DMV,用Where子句指定了两个资源类型。Resource_Type指定了锁定的资源类型,如Database\Object\File\Page\Key\RID\Extent\Metadata\Application\Allocation_Unit或HOBT类型。
暂无评论