1. ホーム
  2. sql-server

[解決済み】TSQLでPRINTバッファをフラッシュする方法は?

2022-04-02 02:57:01

質問

SQL Server 2005 で非常に長く実行されるストアドプロシージャをデバッグしようとしており、そのために 'print' コマンドを使用しています。問題は、SQL Server からメッセージを受け取るのが、sproc の一番最後になってしまうことです。メッセージ・バッファをフラッシュして、sproc のランタイム中にこれらのメッセージをすぐに見ることができたらと思います。

解決方法は?

を使用します。 RAISERROR 関数を使用します。

RAISERROR( 'This message will show up right away...',0,1) WITH NOWAIT

すべてのプリントを完全にraiserrorに置き換えるべきではありません。 もし、ループや大きなカーソルがどこかにあるのなら、一回や二回の繰り返しで、あるいは数回の繰り返しのたびに実行すればよいのです。

また 私はこのリンクで初めてRAISERRORについて学びましたが、今ではSQL Serverエラー処理に関する決定的なソースであり、読む価値があると思います。

http://www.sommarskog.se/error-handling-I.html