1. ホーム
  2. sql-server

RAISERROR の深刻度レベルの違いは何を意味するのでしょうか?

2023-08-12 02:33:01

質問

Googleの検索結果で一番良かったのは この :

  • 以下の11個はエラーではなく警告です
  • 11-16は使用可能です
  • 16 以上はシステムエラー
  • 11~16の間に動作の違いはありません

しかし、BOL からは、"0 から 18 までの深刻度レベルは、任意のユーザーによって指定できます."。

私の特定のストアド プロシージャでは、エラーを .Net クライアント アプリケーションに返したいので、11 ~ 18 の間の任意の深刻度レベルでトリックを実行できるように見えます。 各レベルが何を意味し、どのように使用されるべきかについての権威ある情報をお持ちの方はいらっしゃいますか?

どのように解決するのですか?

データベースエンジンの深刻度レベル

16を返す必要があります。これはデフォルトで最も使用されるエラーレベルです。

ユーザが修正できる一般的なエラーを示す ユーザーによって修正されます。

17-18を返してはいけません。これらはリソースの問題など、より深刻なエラーを示しています。

<ブロッククオート

ユーザーが修正できないソフトウェアエラーを示す ユーザが修正することができないソフトウェアのエラーを示します。システム管理者に システム管理者にお知らせください。

また、11~15を返してはいけません。これらは各レベルに特別な意味があるからです(14 - セキュリティアクセス、15 - 構文エラー、13 - デッドロックなど)。

レベル16は実行を終了させません。

警告を記録し、実行は継続する場合、代わりに深刻度レベル10以下を使用します。