MS SQL 2008 R2では、出力されたメッセージを変数にキャッチできるようにしたいと思います。多くのデータベースでスクリプトを実行する必要があります。メッセージ出力(printまたはraiserrからのメッセージ)をキャッチし、テーブルにログインします。ストアドプロシージャの内部からこれを行う必要があります。
このスクリプトの場合
Declare @sqlscript nvarchar(500)
Set @sqlscript =
'select * from sys.objects
raiserror (''My raised error'', 10,1)
select * from sys.schemas
print ''my print'''
EXEC sp_executesql @sqlscript
入手したい
My raised error
my print
また
(60 row(s) affected)
My raised error
(21 row(s) affected)
my print
更新
私は@rsの提案で行くことにしました。テーブルにログインするのが私にとって最も簡単な方法です。SPを使用してログに記録し(コードをクリーンに保つため)、さらに小さな正規表現を使用してすべてのスクリプトをリファクタリングします。ソリューションは明日準備が整います。どうもありがとう。