为什么许多SQL Server严重性10错误实际上看起来很严重?

时间:2009-11-21 03:46:51

标签: sql-server tsql

BOL声明SQL Server 10级消息是“返回状态信息或报告不严重错误的信息性消息。”

然而,这些错误似乎很严重而且不具备信息性:

  • 2540 - The system cannot self repair this error.
  • 2745 - Process ID %d has raised user error %d, severity %d. SQL Server is terminating this process.
  • 3606 - Arithmetic overflow occurred.
  • 3607 - Division by zero occurred.

这些仅仅是一些看起来不仅仅是信息的东西。它们是使用以下查询获取的:

SELECT
message_id,
language_id,
severity,
is_event_logged,
text
FROM sys.messages
WHERE 
language_id = 1033
AND
severity = 10

为什么许多SQL Server严重性10错误实际上看起来很严重?

2 个答案:

答案 0 :(得分:3)

sys.messages中的严重性不是它们引发的实际严重程度。

答案 1 :(得分:1)

在您的示例中,严重性可能是主观的,
- 3606 - 发生算术溢出 - 3607 - 分零发生。

嗯,这些对你来说可能没什么问题,但对服务器来说,这可能会对你应用程序的业务逻辑产生严重影响。

尽管如此,我确实同意一些/很多消息(严重性除外)不清楚/不明确/不明确。