bảo quản \ n từ SQL Server Management Studio


11

Tôi có một cột được gọi EventLog varchar(max)và có thể khá lớn vì về cơ bản nó lưu trữ nhật ký sự kiện của toàn bộ quy trình lô.

Vấn đề là khi tôi đi vào cửa sổ truy vấn và thực hiện một lựa chọn như thế này

SELECT EventLog from BatchProcess

Khi tôi cắt và dán văn bản của nhật ký sự kiện vào Notepad, nó sẽ

  1. xóa tất cả các NewLines \nvà chỉ là một dòng liên tục.
  2. chỉ sao chép một lượng văn bản nhất định vào bảng tạm và cắt bớt phần còn lại.

Làm cách nào tôi có thể lấy nội dung của EventLog từ SQL Server Management Studio?

Câu trả lời:


8

Để xử lý việc cắt ngắn, hãy thử chuyển đổi nó sang XML để xử lý

DECLARE @S varchar(max)

SELECT @S = ''

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

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

Mã được sửa đổi từ câu trả lời của Martin Smith cho /programming/2759721/how-do-i-view-the-full-content-of-a-text-or-varcharmax-column-in-sql-server -200

Điều này cũng có thể giải quyết các ngắt dòng, nhưng nếu nó là một vấn đề lớn, hãy thử một trình soạn thảo khác


cảm ơn bạn, điều này là hoàn hảo cho nhu cầu của tôi Tôi đã xem tệp nhật ký, nó có dung lượng khoảng 3 MB, vì vậy tôi có cảm giác SQL Server cắt đứt mọi thứ sau một meg.
RoboShop

1
  1. xóa tất cả các NewLines và chỉ là một dòng liên tục.

Nghe có vẻ như sự điên rồ điển hình của Notepad. IIRC, để thực sự hiển thị ngắt dòng, Notepad cần \r\nkết thúc dòng, không chỉ \n. Hãy thử dán vào Wordman hoặc một trình soạn thảo thực sự .


1
điều đó có thể xảy ra nhưng tôi cũng đã thử nó trong Word và Wordman, và nó vẫn liên tục. Tuy nhiên, giải pháp khác hoạt động hiệu quả, cả việc lấy dữ liệu ra và nhận NewLines xuất hiện.
RoboShop

Sao chép và dán cũng không làm việc cho tôi. Tôi dán vào cửa sổ truy vấn SSMS mới, Emacs hoặc Wordman và mỗi CRLF được thay thế bằng hai khoảng trắng. Nếu tôi sử dụng hack XML, tôi có thể thấy các dòng mới nhưng văn bản của tôi bị ô nhiễm bởi các thực thể. Ít nhất tôi có thể có được ý chính, mặc dù. Tôi đang sử dụng SSMS 2016 (13.0.15900.1) và chế độ xem bảng cho danh sách kết quả của mình.
binki
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.