Компонент Service Broker - как извлечь строки из сообщения XML?

Скажем, у меня следующая ситуация (для демонстрации). Содержимое простой таблицы преобразуется в значение XML и отправляется через компонент Service Broker на другой сервер SQL, где результатSELECT должен храниться в не-XML-форме (то есть обычной простой таблице базы данных). Давайте попробуем:

CREATE TABLE tab (a int, b int, c int);
GO

INSERT INTO tab (a, b, c) VALUES (1, 11, 111);
INSERT INTO tab (a, b, c) VALUES (2, 22, 222);
INSERT INTO tab (a, b, c) VALUES (3, 33, 333);
INSERT INTO tab (a, b, c) VALUES (4, 44, 444);
GO

SELECT * FROM tab FOR XML RAW, TYPE;
GO

При захвате значения в сообщение это выглядит так:

<row a="1" b="11" c="111" />
<row a="2" b="22" c="222" />
<row a="3" b="33" c="333" />
<row a="4" b="44" c="444" />

то есть одна многострочная строка. Скажем, я создаю точно такую же структуру таблицы на целевом компьютере:

CREATE TABLE tab_destination (a int, b int, c int);

Каков наилучший способ извлечь строки из@msgи как их поместить в таблицу назначения?

Спасибо петя

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

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