sql-server – 如何在SQL Server中取消应用程序锁定请求?
sp_getapplock存储过程具有以下返回值:
我正在编写一个在我们的数据访问层中调用sp_getapplock的包装器,我想知道在哪些情况下可以返回-2,这样我就可以抛出一个描述性和有用的异常.很明显-1和-3的返回值是什么意思,我可以很容易地创建导致返回这些值的测试条件.我如何设法获得-2的返回值? 解决方法查看sp_getapplock包装器proc的源代码,除-999之外的所有返回值都来自底层sys.xp_userlock内部存储过程.我敢打赌,当请求被注意事件(客户端查询超时或显示客户端查询取消)取消时,内部proc返回-2.但是,取消批处理后不再执行sp_getapplock代码,包括RETURN语句.因此,-2返回代码可以在内部返回,但客户端没有实际的方法来获取值.假设这个理论是正确的,那么将-2转换为更具描述性的消息没有任何价值,因为客户端首先取消了请求. 我将通过调试器逐步执行SQL数据库引擎代码来保留给Paul以确认这一点:-) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |