SQL Server 2008/2012 ですべての状態エラーを取得するにはどうすればよいですか?
エラーメッセージのストアドプロシージャでブロックを使用Try catch
しており、エラーが発生した場合はエラーメッセージを返します。
他のオブジェクトに関連付けられている1つのテーブル列を変更しようとしているため、その列のデータ型を変更するとSQL Serverがエラーを返します
ALTER TABLE ALTER COLUMN Abc_col1 は、1 つ以上のオブジェクトがこの列にアクセスしているため、失敗しました。
SQL で変更スクリプトのみを実行すると、以下の 2 つのエラー メッセージが表示されます。
メッセージ 5074、レベル 16、状態 1、行 1
オブジェクト「fn_Abc_state」は列「Abc_col1」に依存しています。
メッセージ 4922、レベル 16、状態 9、行 1
ALTER TABLE ALTER COLUMN Abc_col1 は、1 つ以上のオブジェクトがこの列にアクセスしているため、失敗しました。
両方のメッセージを比較すると、状態のみが異なります
私の質問は 、以下のように状態とともにSpを実行しているときにエラーメッセージが発生したときに、すべてのエラーメッセージを取得する方法です
State 1 = The object 'fn_ABC_state' is dependent on column 'Abc_col1 '.
State 9 = ALTER TABLE ALTER COLUMN Abc_col1 failed because one or more objects access this column.