Guardar resultados como CSV * con * encabezados en SSMS


13

Con SQL Server 2008 R2, cuando guardo los resultados como CSV no hay encabezados. Puedo solucionar esto copiando y pegando con "Copiar con encabezados", o simplemente tomando los encabezados y pegándolos en el archivo CSV, etc., pero ¿hay una mejor manera de hacerlo?


En realidad, un sp que hace esto podría ser ideal.
Kyle Brandt

¡Copie con encabezados y luego pegue en Excel!

Respuestas:


22

En SSMS necesita cambiar algunas opciones:

Herramientas - Opciones - Resultados de la consulta - servidor sql - resultados a la cuadrícula (o texto) -> Incluir encabezados de columna al copiar o guardar los resultados .

La configuración modificada se aplica a las ventanas de consulta nuevas pero no existentes.


10

Veo que ha declarado claramente que está buscando una solución en SSMS, pero pensé que le proporcionaría una solución PowerShell en caso de que ayude (se puede acceder a SQLPS desde el interior de SSMS 2008 y 2008 R2).

Puede usar SQLPS (o PowerShell normal con el complemento de cmdlet de SQL) para ejecutar algo como esto:

Invoke-Sqlcmd -Query "sp_databases" -ServerInstance "LocalHost\R2" |
Export-Csv -Path "C:\temp\MyDatabaseSizes.csv" -NoTypeInformation

Puedo seguir con este ejemplo si estás interesado.


3

Si le gusta el enfoque de script de PowerShell, tengo un script que se exporta a CSV desde SSMS a través de PowerShell . Me gusta hasta ahora, puede tener un script SQL dinámico, diablos, puede seleccionar cualquier texto y SSMS lo pasa al script como argumento.

El único inconveniente es que no he encontrado una forma inteligente de pasar la conexión de la ventana actual. Mi solución actual es tener diferentes herramientas configuradas que varían solo en sus cadenas de conexión, es decir, PROD_DW, PROD_DB, TEST_DW ...


1

Puede hacer una unión para unir todos los encabezados de columna explícitamente como una sola selección de fila unida contra las filas reales, por ejemplo:

SELECT 'col1' AS col1... 
UNION ALL 
SELECT T.col1... 
FROM TABLE T

El mayor problema con este enfoque es la conversión forzada al tipo de datos de personaje en la segunda selección.


-1

SSMS no es una herramienta de exportación de datos. Utilice el asistente de Importar / Exportar o BCP, ambos diseñados como herramientas de exportación de datos y harán lo que está buscando.


Si eso fuera estrictamente cierto, no debería tener ninguna opción de exportación. Para cualquier software, si agrega una función, haga que funcione correctamente. Al menos SSMS 2008R2 falla esa prueba cuando se trata de exportar. Además, SSMS en realidad puede satisfacer la necesidad del OP.
Eric J.

2
SSMS es una herramienta de exportación de datos ad-hoc. Si necesita un extracto de datos único en, digamos, Excel, entonces SSMS es la herramienta más rápida y fácil. En el tiempo que tarda el asistente de exportación en iniciarse, puede ejecutar la consulta y guardar los resultados.
Greenstone Walker
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.