Если XML передается в какое-либо приложение для обработки после его создания (например, веб-приложение), одна альтернатива - просто генерировать нормальные наборы записей в SQL и позволить вызывающему приложению создать документ XML. Или, возможно, SQL может использовать FOR XML AUTO для создания более простой формы XML, чем вам требуется, и затем вызывающее приложение может преобразовать ее в правильный формат XML с помощью таблицы стилей XSLT.
Конечно, вам необходимо убедиться, что с исходным SQL нет проблем с производительностью, независимо от того, форматируется ли он в XML или нет (т. Е. В вашей базе данных отсутствуют некоторые индексы, возможно?)