SQL最近运行具有大量文本的查询

时间:2016-04-06 16:01:52

标签: sql-server ssms

我在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

**编辑 感谢所有人的帮助,按照戈登提供的链接,我能够做到这一点。 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

1 个答案:

答案 0 :(得分:2)

在“结果到网格”模式下,从Sql Server Management Studio返回的最大字符数为65,535。

您有几个选择:

  • 你需要写出部分字符串。
  • 将结果写入结果网格内的文件。右键点击 - &GT;保存结果为。
  • 转换为XML

    CAST(b.text AS XML) - XML没有字符限制。