Copie datos grandes del resultado de la consulta SQL

9

En mi servidor SQL 2008, después de ejecutar la consulta, el retorno de datos es muy grande, digamos en millones. Intenté copiar pero da un error de memoria sql de excepción. ¿Puede decirnos cómo puedo copiar todos los datos y pegarlos en Excel?

No quiero exportarlo a un archivo txt ya que los datos no se están alineando. Así que quiero copiarlo y pegarlo manualmente en Excel. Por favor, hágame saber la solución para esto

Sohail
fuente
Como punto de aclaración: es posible que obtenga una excepción de "falta de memoria" cuando SSMS intenta manejar los datos entrantes; Si hay más que ajustes en la memoria, obtendrá ese error. Si eso no causa el error de falta de memoria, pero ocurre cuando intenta copiar y pegar los datos, entonces el problema radica en copiar los datos a la memoria por segunda vez para copiar y pegar. Cualquier respuesta que implique pasar por alto el retorno de los datos a SMSS (como la respuesta aceptada actual ) lo evita.
RDFozz

Respuestas:

17

No podrás copiar y pegar como quieras. Sin embargo, tienes varias opciones. Lo más simple es hacer clic derecho en la salida y guardarla como un archivo CSV. Sin embargo, se supone que no tiene comas en sus datos de texto.

Guardar resultados como

Su siguiente opción (y probablemente la mejor) es usar el asistente de exportación. Haga clic derecho en el nombre de su base de datos, luego en Tareas, luego en Asistente de exportación

¿Dónde está el mago?

Su fuente será la base de datos en la que hizo clic con el botón derecho.

Fuente

Elige un destino excelente.

Destino

Seleccione Escribir una consulta para especificar los datos a transferir.

Elige una consulta

Pega tu consulta

Pega tu consulta

Puede cambiar el nombre de la hoja en su hoja de cálculo aquí.

Seleccionar tablas de origen

A continuación se muestra la lista de asignaciones para que pueda revisar

Lista de asignaciones

Y desde aquí puede ejecutar el paquete inmediatamente o guardar el paquete SSIS para su uso posterior / arreglos. Si su exportación no funciona la primera vez y está familiarizado con SSIS, guardaría el paquete para que pueda entrar y hacer correcciones fuera del asistente.

Guardar y ejecutar opciones

Luego solo presiona finalizar y terminar de nuevo.

Kenneth Fisher
fuente
2

Si insiste en Excel como destino, hay dos opciones fáciles.

Primero, el "sqlcmd.exe" o "bcp.exe" nativo le permite ejecutar una consulta y la enviará automáticamente a un archivo. Suponiendo que sus datos no tengan pestañas, la salida delimitada por pestañas ingresará automáticamente en columnas de Excel. Si sus datos tienen pestañas, deberá elegir otro delimitador y tener columnas de selección de Excel basadas en eso durante la importación.

En segundo lugar, coloque su consulta en un informe SSRS (SQL Server Reporting Services), ejecútelo, haga clic en la flecha a la derecha del icono del disquete / guardar y exporte a Excel. Millones de filas requieren SSRS 2012, guardando como .xlsx; desafortunadamente, incluso SSRS 2008 R2 no permite más de 64k filas. Para automatizar, programe el informe.

Referencias para estos comandos:

Entrada sqlcmd de Technet

Entrada bcp de Technet

social.msdn sqlcmd post delimitado por tabulación del foro

Contraseñas anti-débiles
fuente
0

Si es solo una cosa de una vez.

Ejecute la consulta. En la ventana de resultados en la parte inferior derecha, haga clic en el cuadrado vacío en la parte superior izquierda. Guardar resultados como ... Por defecto es un CSV, elija donde quiera volcar el archivo (recurso compartido de red o local).

Correoso
fuente