txt tabla results query exportar sql-server sql-server-2005 bcp sqlcmd

tabla - Cómo exportar la consulta de SQL Server 2005 a CSV



sql server to txt (13)

Quiero exportar algunos datos de SQL Server 2005 a formato CSV (separados por comas con comillas). Puedo pensar en muchas formas complicadas de hacerlo, pero quiero hacerlo de la manera correcta . Miré bcp, pero no puedo imaginar cómo poner las comillas en los campos (excepto concatenarlas a los valores de campo, lo cual es feo). Supongo que podría hacerlo con sqlcmd y -o, pero eso parece feo por la misma razón.

¿Hay alguna manera de hacerlo?

¿Hay una forma razonable de sqlcmd para hacerlo?

¿Hay alguna utilidad genial y sencilla incorporada en Management Studio que acabo de pasar por alto?


Creo que la forma más sencilla de hacerlo es desde Excel.

  1. Abra un nuevo archivo de Excel.
  2. Haga clic en la pestaña Datos
  3. Seleccione otras fuentes de datos
  4. Seleccionar servidor SQL
  5. Ingrese su nombre de servidor, base de datos, nombre de la tabla, etc.

Si tiene una versión más nueva de Excel, puede traer los datos desde PowerPivot y luego insertar estos datos en una tabla.


En SQL 2005, esto es simple: 1. Abra el estudio de administración de SQL Server y copie la instrucción sql que necesita en el TSQL, como exec sp_whatever 2. Query-> Results to Grid 3. Resalte la instrucción sql y ejecútela 4. Resalte los resultados de los datos (clic izquierdo en el área superior izquierda de la cuadrícula de resultados) 5. Ahora haga clic derecho y seleccione Guardar resultados como 6. Seleccione CSV en Guardar como tipo, ingrese un nombre de archivo, seleccione una ubicación y haga clic en Guardar.

¡Fácil!


En Sql Server 2012 - Management Studio:

Solución 1:

Ejecuta la consulta

Haga clic derecho en la ventana de resultados

Seleccione Guardar resultados como desde el menú

Seleccionar CSV

Solución 2:

Haga clic derecho en la base de datos

Seleccione Tareas, Exportar datos

Seleccionar fuente DB

Seleccionar destino: Destino de archivo plano

Elige un nombre de archivo

Seleccionar formato - Delimitado

Elige una tabla o escribe una consulta

Elija un delimitador de columna

Nota: Puede elegir un calificador de texto que delimitará sus campos de texto, como comillas.

Si tiene un campo con comas, no lo use, use la coma como delimitador, ya que no escapa a las comas. Puede elegir un delimitador de columna como Vertical Bar: | en lugar de coma, o un carácter de tabulación. De lo contrario, escriba una consulta que escapa de sus comas o delimita su campo varchar.

El carácter de escape o el calificador de texto que necesita usar depende de sus requisitos.


En el estudio de gestión, configure las opciones de consulta para enviarlas a un archivo, y en options-> query results establezca la salida en el archivo para generar usando coma como delimitador.


Para consultas adhoc:

Mostrar resultados en modo cuadrícula (CTRL + D), ejecutar consulta, hacer clic en el cuadro de la esquina superior izquierda en la cuadrícula de resultados, pegar en Excel, guardar como CSV. Es posible que pueda pegar directamente en un archivo de texto (no puede intentarlo ahora)

O "Resultados al archivo" también tiene opciones para CSV

O "Resultados al texto" con separadores de coma

Todas las configuraciones en Opciones de Herramientas ... Opciones y Consultas ... (creo, no puedo verificar) también



Sí, hay una utilidad muy simple en Management Studio, si solo buscas guardar los resultados de la consulta en un archivo CSV.

Haga clic derecho en el conjunto de resultados, seleccione "Guardar resultados como". El tipo de archivo predeterminado es CSV.


SSIS es una muy buena forma de hacer esto. Esto se puede programar utilizando trabajos del Agente SQL Server.


Si no puede usar Management Studio, uso sqlcmd.

sqlcmd -q "select col1,col2,col3 from table" -oc:/myfile.csv -h-1 -s","

Esa es la forma más rápida de hacerlo desde la línea de comando.


Si se ajusta a sus requisitos, puede usar bcp en la línea de comandos si lo hace con frecuencia o si desea construirlo en un proceso de producción.

Aquí hay un enlace que describe la configuración.


Tenía que hacer una cosa más de lo que dijo Sijin para conseguir que agregara citas correctamente en SQL Server Management Studio 2005. Ir a

Tools->Options->Query Results->Sql Server->Results To Grid

Marque junto a esta opción:

Quote strings containing list separators when saving .csv results

Nota: ¡ el método anterior no funcionará para SSMS 2005 Express! Hasta donde sé, no hay forma de citar los campos al exportar resultados a .csv usando SSMS 2005 Express.


establecer nocount en

las comillas están ahí, use -w2000 para mantener cada fila en una línea.


En Management Studio, seleccione la base de datos, haga clic con el botón derecho y seleccione Tasks->Export Data . Allí verá opciones para exportar a diferentes tipos de formatos, incluyendo CSV, Excel, etc.

También puede ejecutar su consulta desde la ventana de Consulta y guardar los resultados en CSV.