Sql-Server
如何避免跟踪的文本數據被截斷?
我有一個跟踪文件,其中包括由伺服器端跟踪創建的 TEXTDATA 列。一些跟踪的查詢很長。
如果我在 Profiler 上重新打開跟踪文件,相關的長查詢將完全顯示 - 它有 340 行文本和 10951 個字元。
但在我將跟踪文件導入 SQL-Server 表後,相關查詢似乎被截斷了。該表有一個由fn_trace_gettable方法創建的 ntext 列。
我使用不同的方法查詢了表:SSMS 中的文本輸出(配置了最大數量的字元)中斷了第 52 行的輸出。SSMS 的文件輸出(*.rpt)也被截斷,這裡查詢在第 250 行被截斷.
所以現在我想知道是否有可能將整個查詢從跟踪文件中取出到 SQL-Server 表中,以及如何?
SSMS 總是截斷長字元串,除非鍵入為 XML,在這種情況下,您可以將其設置為允許無限制。
我通常使用的解決方法(從 Adam Machanic 的解決方法到連接項(網際網路存檔連結))如下
SELECT (SELECT YourTraceDataColumn AS [processing-instruction(x)] FOR XML PATH(''), TYPE) FROM YourTraceTable
這會添加一些前導 (
<?x
) 和尾隨 (?>
) 字元,但否則會保持數據完整,並且不會用 XML 實體替換字元。