Как сохранить вывод 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 для регистрации (для поддержания чистоты кода), а также небольшое регулярное выражение для рефакторинга всех моих скриптов. Решение будет готово к завтрашнему дню. Большое спасибо