SQL 最近 运行 查询包含大量文本

SQL recently run queries with large amount of text

我有 运行 这个查询,在 b.text 上有和没有 LEN() 返回的结果我可以看到我执行的查询,但它在 ~ 51k 个字符处截断了怎么办我是为了得到查询的全文吗?

SELECT
    a.last_execution_time AS ExectuionTime,
    LEN(b.text) AS Query
FROM 
    sys.dm_exec_query_stats a
CROSS APPLY 
    sys.dm_exec_sql_text(a.sql_handle) b 
WHERE 
    b.text LIKE '%FLC%'
    AND a.last_execution_time BETWEEN '2016-04-05 15:00:00' AND '2016-04-05 15:30:00'
 ORDER BY 
     a.last_execution_time DESC

**编辑 感谢大家在 Gordon 提供的 link 之后的帮助,我才能够做到这一点。 xml 包含整个查询。再次感谢大家的投入。

SELECT
    CAST('<root><![CDATA[' + b.text + ']]></root>' AS XML)
FROM sys.dm_exec_query_stats a
    CROSS APPLY sys.dm_exec_sql_text(a.sql_handle) b
WHERE 
    b.text like '%FLC%'
    AND a.last_execution_time BETWEEN '2016-04-05 15:00:00' AND '2016-04-05 15:30:00'
ORDER BY a.last_execution_time DESC

在结果到网格模式下,您可以 return 形式 Sql Server Management Studio 的最大字符数为 65,535。

您有几个选择:

  • 您需要分段写出字符串。
  • 将结果写入结果网格内的文件。右键点击 -> 将结果另存为。
  • 转换为 XML

    CAST(b.text AS XML) -- XML.

  • 没有字符限制