Я согласился с предложением Мартина попробовать запрос UNPIVOT, что было для меня в новинку.Используя SSIS, я теперь экспортирую запрос в текстовый файл, отформатированный так, как мне нужно, со временем выполнения всего несколько секунд.Я использую запрос, как показано ниже, с «:» в качестве разделителя столбцов.Отличное предложение, Мартин!
SELECT 'START_FILE' as FieldName, '' as 'FieldValue'
UNION ALL
select 'DATE' as FieldName, getDate() as 'FieldValue'
UNION ALL
SELECT FieldName, FieldValue
FROM
(
SELECT
Cast(Column1Name as varchar) as VendorColumn1Name,
Cast(Column2Name as varchar) as VendorColumn2Name,
Cast(Column3Name as varchar) as VendorColumn3Name
FROM MyTable
) c
UNPIVOT
(
FieldValue for FieldName IN(VendorColumn1Name, VendorColumn2Name, VendorColumn3Name)
) as p
UNION ALL
SELECT 'END_FILE' as FieldName, '' as 'FieldValue'