Как вывести данные из MSSQL в XML с помощью агента SQL?

Мне нужно экспортировать данные с помощью процедуры SQL из MSSQL (2012) в XML и периодически запускать сценарий с агентом SQL Server.

Я хотел бы сделать это непосредственно из SQL Server, потому что сейчас я делаю это с консольным приложением, которое генерирует структуру XML из необработанных данных из SQL, и это занимает более 10 часов! Выходной XML теперь имеет 300M.

У кого-нибудь сейчас как это сделать? У меня уже есть хранимая процедура, генерирующая вывод XML.

1 ответ

Большое спасибо.

Процедура была выполнена успешно. Мне нужно было только установить права на целевую папку для пользователя "SQLSERVERAGENT", потому что агент успешно завершает работу, но ничего не пишет.

Но у меня есть небольшая проблема с окончательным XML. В начале и в конце файла XML содержится некоторая информация от Агента.

Кто-нибудь знает, как удалить верхний и нижний колонтитулы?

Заголовок:

Job 'Xml Dump' : Step 1, 'Xml Dump Procedure' : Began Executing 2013-07-23 12:24:52

XML_F52E2B61-18A1-11d1-B105-00805F49916B
---------------------------------------------------------------------------------

Footer:

(146270 rows(s) affected)

Хранимая процедура содержит это:

CREATE PROCEDURE GetXmlDumpCompleteData
(@Xml XML)
as
    SET @Xml = (SELECT * FROM [MyTable]

        FOR XML AUTO, ELEMENTS, ROOT('data'))
    SELECT @Xml

Команда в агенте задания:

DECLARE @Xml XML

EXEC    [dbo].[GetXmlDumpCompleteData]
        @Xml = @Xml OUTPUT

SELECT  @Xml as N'@Xml'

GO
Другие вопросы по тегам