Trong cơ sở dữ liệu SQL Server 2008 (bản dựng 10.0.1600) trực tiếp này, có một Events
bảng chứa một text
cột có tên Details
. (Có, tôi nhận ra đây thực sự phải là một varchar(MAX)
cột, nhưng bất kỳ ai thiết lập cơ sở dữ liệu này đã không làm theo cách đó.)
Cột này chứa nhật ký rất lớn về các ngoại lệ và dữ liệu JSON được liên kết mà tôi đang cố truy cập thông qua SQL Server Management Studio, nhưng bất cứ khi nào tôi sao chép kết quả từ lưới sang trình soạn thảo văn bản, nó sẽ cắt bớt 43679 ký tự.
Tôi đã đọc ở nhiều vị trí khác nhau trên Internet rằng bạn có thể đặt các ký tự tối đa được lấy cho dữ liệu XML Tools > Options > Query Results > SQL Server > Results To Grid
thành Không giới hạn, rồi thực hiện truy vấn như sau:
select Convert(xml, Details) from Events
where EventID = 13920
(Lưu ý rằng dữ liệu là cột hoàn toàn không phải là XML. CONVERT
Nhập cột vào XML chỉ là một cách giải quyết mà tôi tìm thấy từ Google mà người khác đã sử dụng để vượt qua giới hạn mà SSMS có được từ việc truy xuất dữ liệu từ một text
hoặc varchar(MAX)
cột.)
Tuy nhiên, sau khi thiết lập tùy chọn ở trên, chạy truy vấn và nhấp vào liên kết trong kết quả, tôi vẫn gặp lỗi sau:
Không thể hiển thị XML. Đã xảy ra lỗi sau: Đã xảy ra kết thúc tệp không mong muốn. Dòng 5, vị trí 220160.
Một giải pháp là tăng số lượng ký tự được truy xuất từ máy chủ cho dữ liệu XML. Để thay đổi cài đặt này, trên menu Công cụ, bấm vào Tùy chọn.
Vì vậy, bất kỳ ý tưởng về cách truy cập dữ liệu này? Liệu chuyển đổi cột để varchar(MAX)
khắc phục tai ương của tôi?