我们今天是要和大家一起讨论的是SQL Server 数据库中锁的自定义,正确处理死锁与设置死锁得优先级,如果对SQL Server 数据库中锁的自定义的相关实际应用不是很了解的话,以下的文章会给你提供更全面的知识。
死锁就是多个用户申请不同封锁,由于申请者均拥有一部分封锁权而又等待其他用户拥有的部分封锁而引起的无休止的等待
可以使用SET DEADLOCK_PRIORITY控制在发生死锁情况时会话的反应方式。如果两个进程都锁定数据,并且直到其它进程释放自己的锁时,每个进程才能释放自己的锁,即发生死锁情况。
2 处理超时和设置锁超时持续时间。
@@LOCK_TIMEOUT 返回当前会话的当前锁超时设置,单位为毫秒
SET LOCK_TIMEOUT 设置允许应用程序设置语句等待阻塞资源的最长时间。当语句等待的时间大于 LOCK_TIMEOUT 设置时,系统将自动取消阻塞的语句,并给应用程序返回"已超过了锁请求超时时段"的 1222 号错误信息
示例
下例将锁超时期限设置为 1,800 毫秒。
- SET LOCK_TIMEOUT 1800
设置事务隔离级别。
对 SELECT、INSERT、UPDATE 和 DELETE 语句使用表级锁定提示。
配置索引的锁定粒度
可以使用 sp_indexoption 系统存储过程来设置用于索引的锁定粒度
以上的相关内容就是对SQL Server 数据库中锁的自定义 的介绍,望你能有所收获。
上述的相关内容就是对SQL Server 数据库中锁的自定义的描述,希望会给你带来一些帮助在此方面。
【编辑推荐】