MW211 EXIT

devlog
MSSQL/エラー
2015年03月22日
┌──────────────────────────────────────┐
│BEGIN TRY                                                                   │
│    SELECT 1/0;  --エラー発生                                               │
│END TRY                                                                     │
│BEGIN CATCH                                                                 │
│    SELECT                                                                  │
│        ERROR_NUMBER()    AS [エラー番号],                                  │
│        ERROR_SEVERITY()  AS [重大度],                                      │
│        ERROR_STATE()     AS [エラー状態],                                  │
│        ERROR_PROCEDURE() AS [ストアドプロシージャ名],                      │
│        ERROR_LINE()      AS [行],                                          │
│        ERROR_MESSAGE()   AS [本文];                                        │
│END CATCH;                                                                  │
│GO                                                                          │
└──────────────────────────────────────┘
上記のような感じで、エラー番号を取得できるわけだが、
その対応表を取得するには、以下のような感じでSELECT文を実行すればよい。
┌──────────────────────────────────────┐
│SELECT message_id AS [エラー番号],                                          │
│       text       AS [本文],                                                │
│       severity   AS [重大度],                                              │
│       CASE                                                                 │
│          WHEN is_event_logged = 1 THEN 'イベントログ記録'                  │
│          ELSE                          ''                                  │
│       END AS [備考]                                                        │
│    FROM sys.messages                                                       │
│    WHERE language_id = 1041  -- 日本語                                     │
│    ORDER BY message_id ASC;                                                │
└──────────────────────────────────────┘
分類:MSSQL