SQL Server Management Studio에서 \ n 유지


11

EventLog varchar(max)본질적으로 전체 배치 프로세스의 이벤트 로그를 저장하기 때문에 열 이 있고 꽤 클 수 있습니다.

문제는 쿼리 창으로 이동하여 다음과 같이 선택한다는 것입니다.

SELECT EventLog from BatchProcess

이벤트 로그의 텍스트를 잘라내 메모장에 붙여 넣으면

  1. 모든 NewLine을 제거하며 \n하나의 연속적인 라인입니다.
  2. 일정량의 텍스트 만 클립 보드에 복사하고 나머지는 잘라냅니다.

SQL Server Management Studio에서 EventLog의 내용을 얻으려면 어떻게해야합니까?

답변:


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

이것은 또한 줄 바꿈을 해결할 수 있지만 큰 경우 다른 편집기를 사용해보십시오.


고마워요, 이것은 내 필요에 완벽합니다. 로그 파일을 살펴본 결과 약 3MB이므로 SQL Server가 1 메가를 초과하면 아무것도 차단할 수 있습니다.
RoboShop

1
  1. 모든 NewLine을 제거하며 하나의 연속적인 라인입니다.

메모장의 전형적인 무너짐처럼 들립니다. IIRC는 실제로 줄 바꿈을 표시하려면 메모장 \r\n뿐만 아니라 줄 끝이 필요 합니다 \n. 워드 패드 또는 실제 편집기에 붙여 넣어보십시오 .


1
그것은 가능했지만 Word와 WordPad에서도 시도했지만 여전히 연속적인 줄이었습니다. 그러나 다른 솔루션은 데이터를 가져오고 NewLines를 표시하는 데 효과적이었습니다.
RoboShop

복사 및 붙여 넣기도 효과가 없습니다. 새 SSMS 쿼리 창, Emacs 또는 워드 패드에 붙여넣고 각 CRLF는 두 개의 공백으로 바뀝니다. XML 핵을 사용하면 개행을 볼 수 있지만 엔티티가 텍스트를 오염시킵니다. 그래도 적어도 요점을 얻을 수 있습니다. 결과 목록에 SSMS 2016 (13.0.15900.1) 및 테이블보기를 사용하고 있습니다.
binki
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.