Как сохранить вывод MSSQL PRINT в переменную

На MS SQL 2008 R2 я хочу иметь возможность перехватывать вывод сообщений в переменную. Мне нужно запустить скрипт на многих базах данных. Поймать вывод сообщений (сообщения из печати или raiserror) и записать его в таблицу. Мне нужно сделать это из хранимой процедуры.

Для этого сценария

<code>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
</code>

Я хотел бы получить

<code>My raised error    
my print
</code>

ил

<code>(60 row(s) affected)  
My raised error

(21 row(s) affected)  
my print
</code>

Обновит
Я решил пойти с предложением @rs. Вход в таблицу - самый простой способ для меня. Использование SP для регистрации (для поддержания чистоты кода), а также небольшое регулярное выражение для рефакторинга всех моих скриптов. Решение будет готово к завтрашнему дню. Большое спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос