Recuperando "mensajes de salida" del comando SQL por lotes (SQL Server)

Estoy ejecutando varias consultas discretas en un solo lote contra SQL Server. Por ejemplo:

update tableX set colA = 'freedom';

select lastName from customers;

insert into tableY (a,b,c) values (x,y,z);

Ahora, quiero capturar el resultado en un DataSet (de la instrucción select) lo cual es bastante fácil, pero ... ¿cómo puedo capturar también la respuesta "meta" de ese comando de manera similar a la forma en que Query Analyzer / SQL Mgt Studio lo hace cuando muestra la pestaña "Mensajes" y muestra algo similar a:

(1 Row affected)
(2 Rows Updated)

Respuestas a la pregunta(3)

Su respuesta a la pregunta