SQLServerメッセージをリアルタイムに出力する。RAISERROR

PRINT だとクエリーが終わらないと表示されない

すぐに!リアルタイムに!出すにはRAISERRORを使う

例えば

declare @i int=0
declare @now varchar(50)  --LOG AREA
while @i < 10000000
begin
    if @i % 100000 = 0
    begin 
        set @now = CONVERT(varchar,GETDATE(),114)  --LOG TIME
        raiserror('%s value=%d', 0, 0, @now, @i) with nowait  --DEBUG PRINT
    end
    set @i += 1
end

第1引数は、formatのように記述する。%d に代入する値は第4引数以降で指定する
第2引数は、重大度
第3引数は、エラー番号

エラーを強制定期に発生させているようなので、自己責任でご使用ください。

リンク
RAISERROR (Transact-SQL) – MSDN – Microsoft

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です