SSMS consente solo dati illimitati per i dati XML. Questa non è l'impostazione predefinita e deve essere impostata nelle opzioni.
Un trucco che potrebbe funzionare in circostanze piuttosto limitate è semplicemente denominare la colonna in un modo speciale come di seguito in modo che venga trattata come dati XML.
DECLARE @S varchar(max) = 'A'
SET @S = REPLICATE(@S,100000) + 'B'
SELECT @S as [XML_F52E2B61-18A1-11d1-B105-00805F49916B]
In SSMS (almeno dalle versioni 2012 alla 18.3 attuale) questo mostra i risultati come di seguito
Facendo clic su di esso si aprono i risultati completi nel visualizzatore XML. Scorrendo verso destra viene visualizzato l'ultimo carattere di B conservato,
Tuttavia questo presenta alcuni problemi significativi. L'aggiunta di colonne aggiuntive alla query interrompe l'effetto e le righe aggiuntive vengono tutte concatenate con la prima. Infine se la stringa contiene caratteri come <
l'apertura del visualizzatore XML non riesce con un errore di analisi.
Un modo più affidabile per eseguire questa operazione che evita problemi di conversione di <
in SQL Server a <
ecc. o fallire a causa di questi personaggi è di seguito (accredita Adam Machanic qui).
DECLARE @S varchar(max)
SELECT @S = ''
SELECT @S = @S + '
' + OBJECT_DEFINITION(OBJECT_ID) FROM SYS.PROCEDURES
SELECT @S AS [processing-instruction(x)] FOR XML PATH('')