¿Cómo se ve TODO el texto de un ntext o nvarchar (max) en SSMS?

¿Cómo se ve TODO el texto de un NTEXT o NVARCHAR (max) en SQL Server Management Studio? Por defecto, solo parece devolver los primeros cientos de caracteres (255?) Pero a veces solo quiero una forma rápida de ver todo el campo, sin tener que escribir un progtwig para hacerlo. Incluso SSMS 2012 todavía tiene este problema 🙁

Opciones (Resultados de la consulta / Servidor SQL / Resultados en la página Cuadrícula)

Para cambiar las opciones de las consultas actuales, haga clic en Opciones de consulta en el menú Consulta o haga clic con el botón derecho en la ventana Consulta de SQL Server y seleccione Opciones de consulta.

Caracteres máximos recuperados
Ingrese un número del 1 al 65535 para especificar el número máximo de caracteres que se mostrarán en cada celda.

El máximo es, como ve, 64k. El valor predeterminado es mucho más pequeño.

BTW Results to Text tiene una limitación aún más drástica:

Número máximo de caracteres que se muestran en cada columna
Este valor predeterminado es 256. Incremente este valor para mostrar conjuntos de resultados más grandes sin truncamiento. El valor máximo es 8,192.

Pude obtener el texto completo (99,208 caracteres) de una columna NVARCHAR (MAX) seleccionando (Resultados en cuadrícula) solo esa columna y luego haciendo clic derecho sobre ella y luego guardando el resultado como un archivo CSV. Curiosamente, cuando traté de ejecutar la misma consulta, pero con los Resultados para el archivo habilitados, la salida se truncó usando el límite de Resultados al texto.

La solución temporal que @MartinSmith describió como un comentario a la respuesta (actualmente) aceptada no funcionó para mí (recibí un error al tratar de ver el resultado XML completo quejándose de “El ‘[‘ carácter, valor hexadecimal 0x5B, no puede ser incluido en un nombre “).

Truco rápido:

SELECT CAST('< ![CDATA[' + CAST(LogInfo as nvarchar(max)) + ']]>' AS xml) FROM Logs WHERE IDLog = 904862629 

He escrito un complemento para SSMS y este problema se solucionó allí. Puedes usar una de las 2 formas:

puede usar “Copiar celda actual 1: 1” para copiar los datos originales de la celda al portapapeles:

http://www.ssmsboost.com/Features/ssms-add-in-copy-results-grid-cell-contents-line-with-breaks Copie los contenidos originales de la celda

O, alternativamente, puede abrir contenidos de celda en un editor de texto externo (notepad ++ o bloc de notas) usando la función “Visualizadores de celda”: http://www.ssmsboost.com/Features/ssms-add-in-results-grid-visualizers

(la función permite abrir el contenido del campo en cualquier aplicación externa, por lo que si sabes que es texto, utiliza el editor de texto para abrirlo. Si el contenido es de datos binarios con imagen, seleccionas ver como imagen. El siguiente ejemplo muestra cómo abrir una imagen) ) Visualizadores de cuadrícula de resultados de SSMS