2011-12-14 2 views
1

私は、私には低重症度の誤差を上昇させることにより、デバッグメッセージを印刷するストアドプロシージャを新しい何かを参照してください。ロギング方法として低重大度のエラーをスローしますか?

raiserror (@Message, 10 , 1) with nowait 

私のストアドプロシージャは、次のバッチコマンドで開始された場合:

SQLCMD.EXE -E -S%SqlServer% -d %DatabaseName% -b -Q "dbo.usp_Myproc" >> "%LogFile%" 

私はこれらの「エラーメッセージ」がファイルに記録されていると仮定します。%LogFile%

この場合ですか? T-SQLのPRINT文も同じことでしょうか?

これは妥当なアプローチですか、より良い方法は何ですか?

+1

'with nowait'を使用する利点は、バッファがいっぱいになるのを待つのではなく、出力がすぐに送信され、長時間の進行状況を追跡するのに便利です。これは、エラーメッセージではなく情報メッセージとして送信されるので、仮定はprintと同じように扱われます。これはテストできませんか? –

答えて

1

重要度の低いレイザーエラーメッセージはログファイルに書き込まれますが、再びPRINTメッセージが書き込まれます。したがって、私は本当にエラーではない情報メッセージを書くために誰かが低重大度のエラーメッセージを出すのを選ぶ理由について質問します。私の疑念は、彼らがPRINTコマンドを認識していなかった、それを使用すると思っていなかった、またはその目的に役立つ限り、気にしなかったことです。

+2

管理スタジオでraiserrorとprintの両方をお試しください。出力が表示される前に印刷が遅れることがありますが、raiserrorは直ちに表示されます。 –

関連する問題