сохранение \ n из SQL Server Management Studio

11

У меня есть столбец с именем, EventLog varchar(max)и он может быть довольно большим, потому что по сути он хранит журнал событий всего пакетного процесса.

Проблема в том, что когда я захожу в окно запроса и делаю выбор, как это

SELECT EventLog from BatchProcess

Когда я вырезал и вставил текст журнала событий в Блокнот, он

  1. удаляет все новые строки \nи представляет собой одну непрерывную линию.
  2. копирует только определенное количество текста в буфер обмена и обрезает остальное.

Как я могу получить содержимое EventLog из SQL Server Management Studio?

ROBOSHOP
источник

Ответы:

8

Чтобы справиться с усечением, попробуйте преобразовать его в XML для обработки

DECLARE @S varchar(max)

SELECT @S = ''

SELECT @S = @S + '
' + EventLog  FROM BatchProcess

SELECT @S AS [processing-instruction(x)] FOR XML PATH('')

Код был изменен из ответа Мартина Смита на /programming/2759721/how-do-i-view-the-full-content-of-a-text-or-varcharmax-column-in-sql-server -200

Это также может решить разрывы строк, но если это большое дело, попробуйте другой редактор

Конрад Фрикс
источник
спасибо, это идеально подходит для моих нужд. Я посмотрел на файл журнала, он был около 3 МБ, поэтому я чувствую, что SQL Server отключает что-либо после одного мегабайта.
RoboShop
1
  1. удаляет все новые строки и представляет собой одну непрерывную линию.

Это звучит как типичная дрянь Notepad. IIRC, чтобы на самом деле отображать разрывы строк, Notepad нужны \r\nне просто строки, а окончания \n. Попробуйте вставить в WordPad или настоящий редактор .

Мэтт Болл
источник
1
это могло бы быть, но я попробовал это в Word и WordPad также, и это было все еще непрерывными линиями. Другое решение работало, как для вывода данных, так и для появления NewLines.
RoboShop
Копирование и вставка не работает для меня тоже. Я вставляю в новое окно запроса SSMS, Emacs или WordPad, и каждый CRLF заменяется двумя пробелами. Если я использую XML-хак, я вижу новые строки, но мой текст загрязнен сущностями. По крайней мере, я могу понять суть, хотя. Я использую SSMS 2016 (13.0.15900.1) и табличное представление для своих списков результатов.
Бинки