Как вывести данные из 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