SQL Server 2000 自定义锁超时的概述

数据库 SQL Server
以下的文章主要描述的是SQL Server 2000 自定义锁超时,以下就是对SQL Server 2000 自定义锁超时的详细内容介绍,望大家借鉴。

此文章主要向大家描述的是SQL Server 2000 自定义锁超时,当由于另一个事务已拥有一个资源的冲突锁,会使 Microsoft® SQL Server™ 2000 无法将锁授权给该资源的某个事务时,该事务被阻塞以等待该资源的操作完成。

如果这导致了死锁,则SQL Server 将终止其中参与的一个事务(不涉及超时)。如果没有出现死锁,则在其它事务释放锁之前,请求锁的事务被阻塞。默认情况下,没有强制的超时期限,并 且除了试图访问数据外(有可能被无限期阻塞),没有其它方法可以测试某个资源是否在锁定之前已被锁定。

说明 sp_who 系统存储过程可用于确定进程是否正被阻塞以及被谁阻塞。LOCK_TIMEOUT 设置允许应用程序设置语句等待阻塞资源的最长时间。当语句等待的时间大于LOCK_TIMEOUT 设置时,系统将自动取消阻塞的语句,并给应用程序返回"已超过了锁请求超时时段"的 1222 号错误信息。

但是,SQL Server 不回滚或取消任何包含该语句的事务。因此,应用程序必须有捕获 1222 号错误信息的错误处 理程序。如果应用程序没有捕获错误,则会继续运行,并未意识到事务中的个别语句已取消,从而当事务中的后续语句可能依赖于那条从未执行的语句时, 导致应用程序出错。

执行捕获错误信息 1222 的错误处理程序使应用程序得以处理发生超时的情况,并采取补救操作,例如可以自动重新提交阻塞的语句或者回滚整个事务。

若要确定当前 LOCK_TIMEOUT 设置,请执行 @@LOCK_TIMEOUT 函数,例如:

DECLARE @Timeout intSELECT @Timeout = @@lock_timeoutSELECT @TimeoutGO-----------------------------------------------------------------SET LOCK_TIMEOUT指定语句等待锁释放的毫秒数。语法SET LOCK_TIMEOUT timeout_period参数timeout_period是在 Microsoft® SQL Server™ 返回锁定错误前经过的毫秒数。值为 -1(默认值)时表示没有超时期限(即无限期等待)。当锁等待超过超时值时,将返回错误。

值为 0 时表示根本不等待,并且一遇到锁就返回信息。注释在连接开始时,该设置的值为 -1。设置更改后,新设置在其余的连接时间里一直有效。SET LOCK_TIMEOUT 的设置是在执行或运行时设置,而不是在分析时设置。

READPAST 锁定提示为该 SET 选项提供了另一种方式。权限SET LOCK_TIMEOUT 权限默认授予所有用户。示例下例将SQL Server 2000 自定义锁超时期限设置为 1,800 毫秒。SET LOCK_TIMEOUT 1800GO

SQL Server 2000 自定义锁超时

上述的相关内容就是对SQL Server 2000 自定义锁超时的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. SQL Server重复数据删除的2个操作方案
  2. MS SQL Server 未公开的加密函数有哪些?
  3. 快速对SQL Server锁机制进行掌握的窍门
  4. 用SQL Server 2005DDL触发器对数据库进行监控
  5. SQL Server删除重复数据的2个实用方案
责任编辑:佚名 来源: 电子工业出版社
相关推荐

2010-07-20 08:48:14

SQL Server

2010-06-29 17:27:14

SQL Server

2010-09-14 16:47:23

SQL自定义函数

2010-10-20 16:07:48

SQL用户自定义角色

2010-09-14 16:59:39

SQL自定义函数

2010-06-28 11:00:46

SQL Server

2010-07-09 14:30:56

SQL Server

2009-04-09 09:51:09

ASP.NETSQL Server 自定义分页

2022-04-01 15:59:22

SQLPostgreSQL审计

2022-10-09 08:35:06

SQL自定义排序

2010-11-10 15:23:55

SQL SERVER

2015-02-12 15:33:43

微信SDK

2010-09-06 15:41:34

SQL函数存储过程

2015-01-14 15:06:48

定义相机

2015-02-12 15:38:26

微信SDK

2010-11-12 13:34:02

动态sql语句

2010-06-17 10:43:21

SQL Server

2015-07-22 17:27:41

SQL SERVER 链接

2010-11-08 15:21:17

SQL Server连

2011-04-18 13:02:08

SQL Server SQL Server
点赞
收藏

51CTO技术栈公众号