SQL Server返回码-6,这是什么意思?

Jon*_*nor 5 c# stored-procedures return-value sql-server-2008

我有一个没有问题的存储过程,返回代码是0.在某些情况下,我RAISERROR用户定义的错误(> 50000).在这些情况下,回报是-6.我只是好奇,-6是什么意思?我没有在程序中设置返回代码,因此这个数字是SQL Server(系统)生成的.

我发现这句话:

这些负数是否有任何意义,有点难以辨别.过去是这样的,返回值-1到-99是为系统生成的返回值保留的,而联机丛书为早期版本的SQL Server指定了值-1到-14的含义.但是,适用于SQL 2000的联机丛书对任何此类预留都保持沉默,并不解释-1到-14的含义.

有谁知道这些返回码的"隐藏"含义?

我正在使用SQL Server 2008 R2.

Jon*_*nor 8

好的,我发现了......

错误时从存储过程返回值

If you have a RETURN statement with an explicit return value, that is of course the return value.
Run Code Online (Sandbox Code Playgroud)

但是,如果没有RETURN语句,但在执行期间发生错误,则返回值为10减去错误的严重性级别.除以零是16级,因此返回值为-6.权限错误是典型的14级,因此返回值为-4.

在我的情况下,我提出的错误的严重性是16,所以10 - 16 = -6.

感谢大家的投入.