ニーズと、このスクリプトを実行しているアカウントの権限によっては、DBCC OUTPUTBUFFER(@@spid)
を使用できる場合があります。 .
Erland Sommarskog の エラー処理に関する記事
を読んでいるときに、この考えに出会いました。 .彼は手順 spGET_ErrorMessage
にリンクしています。
.
残念ながら、これはまったくではありませんでした ただし、SQL Server 2008 のテスト スクリプトで動作するため、バッファ形式が変更されたかどうかはわかりませんが、少し調整することで変更される可能性があります!
CREATE TABLE #foo ( c INT DEFAULT(0) ) ALTER TABLE #foo ALTER COLUMN c VARCHAR(10) GO EXEC spGET_LastErrorMessage
プレ>実際のアウトプット
Msg 5074, Level 16, State 1, Line 2 The object 'DF__#foo___________c__6DCC4D03' is dependent on column 'c'. Msg 4922, Level 16, State 9, Line 2 ALTER TABLE ALTER COLUMN c failed because one or more objects access this column.
プレ>要求された出力
errNumber errState errLevel errMessage errInstance errProcedure errLine -------------------- ----------- ----------- ---------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------- --------------- ----------- 5074 1 16 The object 'DF__#foo___________c__6DCC4D03' is dependent on column 'c'. MARTINHP NULL 2 4922 9 16 The object 'DF__#foo___________c__6DCC4D03' is dependent on column 'c'.ALTER TABL MARTINHP 䄀䰀吀䔀刀 䌀伀䰀唀䴀一 挀 昀愀椀氀攀搀 戀攀挀愀甀猀攀 漀渀攀 漀爀 洀漀爀攀 漀戀樀攀挀琀猀 愀挀挀攀猀猀 琀栀椀 NULL 117
プレ>