11

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

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

SELECT EventLog from BatchProcess

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

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

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

2 ответа2

8

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

DECLARE @S varchar(max)

SELECT @S = ''

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

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

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

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

1
  1. удаляет все NewLines и является только одной непрерывной линией.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .