ในการนี้สด SQL Server 2008 (สร้าง 10.0.1600) ฐานข้อมูลมีการEvents
ตารางซึ่งมีคอลัมน์ชื่อtext
Details
(ใช่ฉันรู้ว่านี่ควรเป็นvarchar(MAX)
คอลัมน์ แต่ใครก็ตามที่ตั้งค่าฐานข้อมูลนี้ไม่ได้ทำเช่นนั้น)
คอลัมน์นี้มีบันทึกข้อยกเว้นขนาดใหญ่มากและข้อมูล JSON ที่เกี่ยวข้องซึ่งฉันพยายามเข้าถึงผ่าน SQL Server Management Studio แต่เมื่อใดก็ตามที่ฉันคัดลอกผลลัพธ์จากกริดไปยังโปรแกรมแก้ไขข้อความมันจะตัดทอนที่ 43679 อักขระ
ฉันได้อ่านในสถานที่ต่างๆบนอินเทอร์เน็ตว่าคุณสามารถตั้งค่าอักขระสูงสุดที่ดึงมาสำหรับข้อมูล XML Tools > Options > Query Results > SQL Server > Results To Grid
เป็นไม่ จำกัด แล้วดำเนินการค้นหาดังนี้:
select Convert(xml, Details) from Events
where EventID = 13920
(โปรดทราบว่าข้อมูลเป็นคอลัมน์ไม่ใช่ XML แต่อย่างใดCONVERT
การที่คอลัมน์เป็น XML เป็นเพียงวิธีแก้ปัญหาที่พบจาก Googling ที่มีคนใช้เพื่อหลีกเลี่ยงขีด จำกัด SSMS จากการดึงข้อมูลจากคอลัมน์text
หรือvarchar(MAX)
คอลัมน์)
อย่างไรก็ตามหลังจากตั้งค่าตัวเลือกด้านบนเรียกใช้แบบสอบถามและคลิกที่ลิงค์ในผลลัพธ์ฉันยังคงได้รับข้อผิดพลาดต่อไปนี้:
ไม่สามารถแสดง XML เกิดข้อผิดพลาดต่อไปนี้: เกิดจุดสิ้นสุดของไฟล์โดยไม่คาดคิด บรรทัดที่ 5 ตำแหน่ง 220160.
วิธีแก้ไขอย่างหนึ่งคือการเพิ่มจำนวนอักขระที่ดึงมาจากเซิร์ฟเวอร์สำหรับข้อมูล XML หากต้องการเปลี่ยนการตั้งค่านี้บนเมนูเครื่องมือคลิกตัวเลือก
ดังนั้นความคิดใด ๆ เกี่ยวกับวิธีการเข้าถึงข้อมูลนี้หรือไม่? การแปลงคอลัมน์เพื่อvarchar(MAX)
แก้ไขปัญหาของฉันหรือไม่?