2016-04-06 44 views
0

Bu sorguyu LEN() ile birlikte ve yokken b.text'de çalıştırıyorum. Geri gelen sonucu yürütdüğüm sorguyu görebiliyorum ama ~ 51k karakterinde kesiyor Sorgunun tam metnini almak için yapabilir miyim? Gordon tarafından sağlanan bağlantıyı takip Yardımlarınız için herkeseSQL son zamanlarda büyük miktarda metinle sorguları çalıştırıyor

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 

** Düzenleme sayesinde bu almak başardı. Xml, tüm sorguyu içeriyordu. Yine girdiler için hepinize teşekkür ederim.

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 
+2

Bu, arabirimdeki bir sorundur. Sorguyu bir değişkene atayın ve parçalara yazdırın: http://stackoverflow.com/questions/7850477/how-to-print-varcharmax-using-print-statement. –

+0

50K uzun bir sorgu mu? Bazı ciddi performans sorunlarınız olduğundan şüpheleniyorum –

cevap

2

Sql Server Management Studio'yu döndürdüğünüz maksimum karakterler, Sonuçlar İçin Izgara modundayken 65,535'tür.

Birkaç seçenek vardır:

  • Sen bölgelerinde dize yazmak gerekir.
  • Sonuçları, sonuçlar kılavuzunun içindeki bir dosyaya yazın. 'a sağ tıklayın -> Sonuçları Farklı Kaydet. XML
  • Cast

    CAST (XML AS b.text) - XML ​​için hiçbir karakter sınırlaması yoktur.

İlgili konular