当前位置:首页 > 系统运维 > 正文内容

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

a8116255316年前 (2010-07-26)系统运维10

此文章主要向大家描述的是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 自定义锁超时的描述,希望会给你带来一些帮助在此方面。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://www.2345hao.cn/blog/index.php/post/22287.html

分享给朋友:

“SQL Server 2000 自定义锁超时的概述” 的相关文章

windows 7鼠标停顿怎么办?windows 7 usb鼠标停顿的原因以及解决

windows 7鼠标停顿怎么办?windows 7 usb鼠标停顿的原因以及解决

很多使用Windows 7系统的朋友都想小编反应,假如暂停使用电脑,鼠标会出现停顿现象,这是怎么回事呢 该怎么解决呢 下面就和小编一起去看下Windows 7 usb鼠标停顿的解决方法吧。 由于Windows 7系统中有一项USB选择性暂停造成的。这项设置主要为了节电,当他检测到用户没有对系统进行...

windows 7系统开机提示press any key to restart的故障分析及解

windows 7系统开机提示press any key to restart的故障分析及解

Windows 7 64位系统开机后提示"press any key to restart",无法进入系统了,具体现象如下所示: 故障分析: 故障的主要原因还是硬盘的问题,可以先检查是不是接触不良或坏了,进行修复或更换即可。 解决方法: 1、开机按F8不动到高级选项出现在松手,选“...

windows 7系统开机提示Windows驱动器未就绪的故障原因及解决方法

windows 7系统开机提示Windows驱动器未就绪的故障原因及解决方法

 故障分析: 主要原因应该是不存在软盘驱动器或驱动器未安装,找到故障原因后,Windows 7 32位系统只要将软盘驱动器禁用就可以了。 解决措施: 1、右键点击计算机,选择管理,打开计算机管理窗口; 2、在计算机管理中,找到设备管理器,在右边的软盘控制器中右击,选择卸载即可。 以...

windows 7如何创建拨号连接

windows 7如何创建拨号连接

一、打开控制面板,选择“网络和共享中心”; 二、在网络和共享中心中选择“设置新的连接或网络”; 三、选择连接到Internet; 四、选择“仍要设置新的连接”; 五、选择“宽带PPPoE ”; 六、输入对应的宽带帐号及密码,点击连接即可;...

windows 7 xp宋体 成功替换windows 7宋体为XP宋体的方法

windows 7 xp宋体 成功替换windows 7宋体为XP宋体的方法

很多朋友从XP升级迈入了Windows 7的殿堂,却发现,Windows 7确实好用和华丽,可是有一些地方不太适应。今天举出一则例子,是把Windows 7系统下的宋体替换为XP系统下的字体。这个并非无聊,大家去网上搜索下,就知道有多少人想要这么做了。 没办法,每人的需求总是那么的不同,好吧,怀旧...

windows 7玩战争策略游戏星际争霸花屏问题解决方法

windows 7玩战争策略游戏星际争霸花屏问题解决方法

星际争霸是一款非常经典的战争策略游戏,虽然已有十多年的历史,但依然有一批忠实的游戏玩家坚守着星际战争,而随着Windows系统的不断更新,Windows 7下玩星际争霸已经不能像WinXP那样顺利了,很多Windows 7玩家在玩星际争霸时候都会出现花屏问题,那么我们该如何应对呢 Windo...