2012-01-19 11 views
17

¿Cómo recupera el contenido completo de las filas en SQL Server Management Studio?cómo obtener el conjunto de resultados completo de SSMS

Si utiliza "resultados en la cuadrícula", los datos están codificados, por lo que se pierden cosas como saltos de línea. Si haces "resultado al archivo" o "resultados al texto", el texto está limitado a 8192 caracteres.

NOTA: Tengo la solución, pero estoy usando SO para documentar esto. Si tiene una mejor respuesta, no dude en publicarla.

Respuesta

0

Uno de los DBA en mi compañía sugiere una posible solución es poner los datos en una variable temporal y luego utilizar la función de impresión en un bucle, así:

DECLARE @contents varchar(MAX) 
SET @contents = '' 

SELECT  @contents = @contents + Contents + CHAR(13) 
FROM   dbo.tFOO 
WHERE  someConition 

DECLARE @tContents TABLE (id int IDENTITY, contents varchar(MAX)) 

WHILE @contents LIKE '%' + CHAR(13) + '%' 
BEGIN 
    PRINT SUBSTRING(@contents, 0, CHARINDEX(CHAR(13), @contents)) 

    SET @contents = SUBSTRING(@contents, CHARINDEX(CHAR(13), @contents)+1, LEN(@contents) - CHARINDEX(CHAR(13), @contents)) 
END 
35

lo eché a XML

select @variable_with_long_text 
as [processing-instruction(x)] FOR XML PATH 

El bit processing-instruction está ahí para detenerlo entitising personajes como < a &lt;

+0

¿Simplemente echarlo a xML dará todos los datos? Interesante. – javamonkey79

+0

Para que esto funcione, primero tuve que seleccione los datos de mi columna en una variable y luego haga la conversión XML como se describe. – danjuggler

+0

se puede convertir en una función inteligente o algo que pueda recordar –

4

I desarrollar un complemento para SSMS - "SSMSBoost" y recientemente se ha agregado la función "Copiar contenido de celda 1: 1" (accesible en el menú de contexto de Grid). Le devolverá todos los datos de la celda sin modificaciones y sin truncar.

2

Sólo tiene que utilizar la opción predeterminada "Resultados a la parrilla, a continuación, haga clic derecho en los resultados de cuadrícula y seleccione 'Guardar los resultados como ...' CSV.

El contenido completo se guarda en el archivo, incluso con saltos de línea Algunas columnas varchar (max) tenían un contenido de aproximadamente 3MB y se guardaban bien, no se truncaban

Cuestiones relacionadas